Amazer / unity-dialogue-system

A basic node based dialogue system made for Unity.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unity Dialogue System

A Node-Based Dialogue System made for Unity using the Experimental GraphView API.

Graph Example

Tutorial

This System is the final result of a Tutorial Series made by me whose purpose is to teach you how to use Unity's GraphView API.

Features

This System offers the user a few features:

Creation of Single or Multiple Choice Nodes

Able to be created both through a contextual menu or a search window.

Creation of the Nodes

Grouping of Nodes

Nodes can be grouped to allow for a better organization of the Graph.

These are also useful to filter the dialogues by Groups in the Custom Inspector.

Grouped Nodes

Feedback on Nodes or Groups with the same name in the same scope

Whenever a Node or a Group have elements of the same type with the same name in the same scope, their colors will be updated to allow the user to know they need to update their names.

The Save button will also be disabled until the names are changed.

This happens because the Graph Elements will end up becoming asset files in the Project folder.

Same Name in the Same Scope Error Feedback

Minimap

A minimap that allows the user to have an overview of where the Nodes are placed and to navigate to them by clicking in the respective shapes.

Minimap

Save & Load System

A Graph can be saved into a Scriptable Object that can be used to load it again later on.

The Graph elements will also be transformed into Scriptable Objects that can be used at Runtime.

Some, or most of those Scriptable Objects are used just for the Custom Inspector.

Save & Load System

Clear & Reset Button

Allows for clearing the Graph (remove any element on it) and resetting the file name.

Clearing and Resetting the Graph

Custom Inspector

Allows the ease of choosing a starting dialogue for a runtime dialogue system the user might want to develop.

The Inspector allows the filtering of dialogues by grouped and non-grouped dialogues, as well as by dialogues that can be considered "starting" dialogues.

Custom Inspector

License

MIT License

Version

Current version: 1.0.3

Contributing

This Dialogue System won't be updated further than this as its main purpose was to fit my game needs and the tutorial series, which should now be over.

If you want to support me, subscribing to my Youtube Channel or following me on Twitter would help me out a ton and be appreciated.

Notes

The GraphView API is likely being deprecated towards the GTF (GraphTools Foundation) Package, but should still work in Unity 2019 and Unity 2020.

This was made using Unity 2020.

About

A basic node based dialogue system made for Unity.

License:MIT License


Languages

Language:C# 100.0%