Unreal Engine Quest System + Dialogue Tool (In Progress)
Unreal, C++, Blueprints
A custom quest system and dialogue editor built in Unreal Engine that enables designers to create flexible,
branching dialogue trees tied to overarching quest logic. The tool supports interconnected conversations across multiple
NPCs, allowing player choices and narrative states to persist and influence quests at a system level.
The in-game dialogue/quest backend system was built entirely with C++, while UI and high level scripting was done with blueprints.
The tool portion of the project is still in development, and this page will be updated when its complete.
- Unity Dialogue Tool Precursor:
This project started due to my initial creation of a similar dialogue tool using Unity's shader graph API for a game jam. I wanted to remake it in Unreal with C++ and Blueprints, this time with scalability and ease of use in mind. - Raw JSON -> Modular, decoupled quest data:
How the system works is that a singular QuestInitializer object will read from a variety of JSON files each representing a formatted quest in the game. The Initializer will translate that JSON file into a QuestInstance object, which holds data about what dialogue options are available, what NPCs are involved, and what the current stage of the specific quest is. Those Instance objects can then have their data drawn from during UI and menu sequences.
When the Dialogue tool for designers is finished, it will output this type of formatted JSON file for the C++ backend to parse through. - Communication between NPCs:
Because the NPCs themselves are not coupled directly to quests, one NPC can have a variety of dynamic quest choices associated with them at any given time. This allows for unique narrative scenarios, where NPCs can transfer their flow of the quest to other NPCs. There is no limit to what designers and writers can do with the system, and players have the benefit of having multiple options to pick from when talking to anybody.