Dialogue Graph
Node-based dialogue editor for Unity.
Creation year: 2024
Programming language: C#
Engine: Unity
Project
I started this project during 2022 and finished most of the core features but the project went on a hiatus until 2024 where I started a project that required a dialogue system. During that project I polished most of the issues and improved some of the older systems.
Dialogue Graph
Dialogue graph is node-based dialogue editor made using Unity’s experimental GraphView API which allows quick and easy way to create complex scenarios with branching dialogue.
Key features
- Ability to create branching dialogue using choices and flags
- Creating, saving and loading graph assets, runtime data is saved separately
- Blackboard for managing graph data
- Minimap for navigating large graphs
- Node groups
- Event triggers
Nodes
Entry node
Index based entry point for the dialogue.
Dialogue nodes
Single choice dialogue node is used for showing dialogue to the player while multiple choice dialogue node presents player multiple choices and branches out depending on the choice made.
Flag nodes
Flag nodes can be used to set or unset flags and check whether a flag is set or not and branch out depending on the outcome.
Event node
Event nodes trigger an event which listeners can react to during runtime.
Blackboard
Blackboard is used to store data on which characters are included in the graph and interpolation data which is used to replace tags with variables like how many times the player has died.
Characters
Dialogue graph uses character assets to specify information about the current “actor” that is talking. They can include information like name, portrait or text color.