The Massive Marketplace Sale is here! Save up to 70% off select products now through June 3.

Branching Quest & Dialogue System

defaltdobrasao - Code Plugins - Jan 22, 2022

A plugin that feature a complex dialogue system, quest system and stats system(with modifiers) easily designable with graphs. Everything include save and load functions.

On Sale$44.99
$13.49Sign in to Buy
  • Supported Platforms
  • Supported Engine Versions
    4.27
  • Download Type
    Engine Plugin
    This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be installed to an engine version of your choice then enabled on a per-project basis.

A quick and easy showcase of a simple quest: https://youtu.be/71bphqqqoTg


A video tutorial on how to use the system is something that im working on. I want to show a complex quest without going too much out of the plugin scope so it require some time to design it, rather then actually recording it.

If you have any suggestions please write me.


This plugin let you design complex branching quests and dialogues in an easy and maintainable way thanks to the graph editor provided.

Everything has been carefully written to make it easy and accessible to everyone(I hope) without actually stripping functionalities from it. I have tested it for quite some time and should be bug free, however the plugin has many functionalities and can still have some issues I'm not aware of. Please report me anything you find.

There are many things that the plugin can do so I will list some of the most interesting stuff below:


There is an editor module that is designed to make your life easier while creating asset that the plugin use. Right clicking in the content browser show a new category named BranchingQuestSystem where you can create all the stuff the plugin use.


Quests can lead to different paths depending on the actions the player(or any other actor really) performed in the game.


You can assign events to all dialogue nodes in the graph in order to make something happen when that node is either entered/leaved, same goes for transitions between node.


You can make a player response selectable or not by assigning conditions to the graph transition. You can make responses have a prefix to the text, hide them if not available or show them as inactive.


The list of conditions you can add is pretty long and it's all in the documentation, if you want to execute something that is not included as condition, you can always create a custom object and run you logic there.


There are dialogue stats that can be leveled up, down and can have stat modifiers. Stat modifiers are either temporary or fixed(meaning that you have to disable them yourself). I called them dialogue stats, however they are in fact a semi complete stat system that can be used for virtually anything.


There are UI examples for dialogues and quest updates. For example when a quest is either started or updated a panel will show up with the quest information. You can queue multiples quest updates to it, meaning that if a quest is completed and another started at the same time the panel will show one information after the other instead of overriding the first one.


There is a dialogue tracker component that you can use to keep track of certain key dialogues to your gameplay. For example you could have a specific dialogue(you can have how many you want) trigger a different game ending, you can track that dialogue and when the game is about to end, get the information from the component about that dialogue and do whatever you want with it.


Everything, from quest activities to temporary stat modifiers to how many times a dialogue line has been said by someone, is saved and loaded by calling the Save/Load functions on the relative components.

Technical Details

Features: (Please include a full, comprehensive list of the features of the product)

  • Dialogue system designable with graphs.
  • Quest system designable with graphs.
  • Dialogue stats.
  • Dialogue stats modifiers (temporary and fixed).
  • Save & load all built in.
  • Editor utilities (such as buttons to create quests, graph, dialogues, etc.).
  • Running under the graph there is a full state machine.
  • Examples widgets for quests and dialogues.
  • Dialogue graphs do their best to show you if there is any issue with it. For example nodes will become red and change their name if there are some issues with it.
  • Created to be easy to use.
  • Many many more..

Code Modules: (Please include a full list of each Plugin module and their module type (Runtime, Editor etc.))

  •  BranchingQuestSystem
  •  BranchingQuestSystemEditor

Number of Blueprints: Examples only

Number of C++ Classes: 49

Network Replicated: No

Supported Development Platforms: Win64

Documentation: https://drive.google.com/file/d/1WMuMRlLYHyrXf5It7b1kF7Wf3L08qBKh/view?usp=sharing