Free City Park Environment Collection now available

Quest and Dialogue System

Svyatoslav Kokurin - Jun 4, 2015
3.82 out of 5 stars(11 ratings)
  • 45%
  • 27%
  • 9%
  • 0%
  • 18%

Nonlinear blueprint quest system and branching dialogue system.

  • Supported Platforms
  • Supported Engine Versions
    4.7 - 4.16
  • Download Type
    Complete Project
    This product contains a full Unreal Engine project folder, complete with Config files, Content files and .uproject file, which can be used as a template to create a new project.

Nonlinear blueprint quest system and branching dialogue system. Everything works from two main blueprints: Quest Manager and Dialogue Manager. All the data for quests is stored inside of two CSV files and all the data for dialogues is stored inside of two other CSV tables. Different types of quest nodes able you to achieve any quest flow even highly non linear. Nodes can require other nodes to be completed (even in other quests) before this node will be available. Also you can create your own instructions to be called when node completes. Instruction consists from one name and any amount of parameters (you write them in CSV file) Two available node flags (you can set even both to one node): optional and repeating. In future there may be more of them. Everything is handled only with events so no impact on performance every tick, only when you update the quest. Also I’m constantly working to find ways to optimize it even more. Dialogues are made of fragments. Each fragment can has its own requirements (you can add your own types of requirements). There are few quest flags which enable different logic of fragments. Dialogues also have instruction language similar to quests. In the end, you can make very complex dialogues with this system.

Forum Thread:
Demo Video:

Technical Details

Quest System features:
• Data driven with CSV tables
• Quest nodes can have children. And children can have their children. And so on.
• Ability to set node to be optional or/and repeating.
• Example UMG Journal so you can see how to implement different features in your own UI

Dialogue System Features:
• Dialogues can start from different fragments depending on requirements
• For each fragment you specify what fragments will be next (any amount).
• Voice-over. Defined by column in CSV table and a Sound CUE
• Animation for NPCs and player.
• NPCComponent. By adding this component on your NPC (can be anything, even simple cube or just empty actor) you can use dialogues.

Utility System Features:
• Custom requirements (for quests, dialogues and anything else). Keywords OR and NOT are supported
• Custom Instructions. You can add any instruction of your own (with any amount of arguments). Some are already built in. These instructions can be used in dialogues, quests and anything else.
• External variables. For dialogues (use them to create dynamic text), requirements (e.g. $VarName==value, $VarName>=6) and instructions ($VarName1+=$VarName2+$VarName3). Available operators: +, -, *, /, =, ==, >=, <=, <, >, +=, -=, *=, /=.
• Example save and load system