Introducing All Things Quest (ATQ)
Hello everyone!
I’m AproposRobin (pronounced A-Pro-Poh-Rah-Bin), and I work with a small indie team called 12Pts.
For the past several months I’ve been developing All Things Quest (ATQ), a quest and dialogue framework for Unreal Engine that’s built around multiplayer support, scalability, and data-oriented runtime execution.
Like many teams, we evaluated the existing quest and dialogue solutions available for Unreal. There are some great plugins already available, but as our project grew we found ourselves wanting a different architecture—particularly for networking, runtime performance, and long-term extensibility.
Why build another quest system?
Most graph-based systems in Unreal use a UObject-per-node architecture. There are good reasons for this:
- UObjects integrate naturally with Unreal’s reflection and editor systems.
- They simplify editor tooling and lifecycle management.
- UEdGraph was largely designed around UObject-based nodes.
- Struct-based polymorphism introduces challenges such as object slicing.
- Building custom graph editors without leaning on UObjects is significantly more work.
For many projects, that’s the right tradeoff.
However, the goals for ATQ were different.
I wanted a system that could support large multiplayer projects while keeping runtime data lightweight, deterministic, and easy to replicate.
The approach behind ATQ
ATQ separates the editor representation from the runtime representation.
The editor still provides a familiar graph workflow for designers, but once compiled, quests and dialogue execute from lightweight data structures instead of a graph of runtime UObjects.
Some of the goals include:
- Multiplayer-first architecture
- Iris Fast Array replication
- Multiple instancing policies (per actor, group, owner, etc.)
- Data-oriented runtime execution
- Low-overhead quest and dialogue instances
- Async-friendly design
- Extensible node operations
- Blueprint-friendly authoring with performant C++ execution
The architecture is inspired in part by how the Gameplay Ability System separates authoring from runtime execution.
Current Progress
The project is still in active development, but it’s reached the point where the core systems are coming together.
Current work includes:
- Dialogue graphs
- Multiplayer replication
- Runtime schema execution
- Configurable replication policies
- Custom graph editor
- Extensible node operations
(These early videos also feature one of our voice actors having a little too much fun during testing.)
Looking Ahead
My long-term goal is to make ATQ something that level designers, technical designers, and gameplay programmers can all work with comfortably.
I want designers to build complex quest logic visually while developers have confidence that the runtime remains performant, network-friendly, and scalable.
At the moment I’m still deciding whether the project should eventually become:
- A Fab Marketplace plugin
- Open source
- Or some combination of the two
That decision will largely depend on community interest and feedback.
I’d Love Your Thoughts
If you’re interested in quest systems, dialogue systems, networking, or Unreal Engine architecture, I’d really appreciate your feedback.
And if you’re an experienced C++ developer interested in data-oriented gameplay systems or Unreal editor tooling, I’m also looking for contributors who’d like to help shape the project.
Thanks for reading—I look forward to sharing more as development continues!