1. Introduction and Basics of the Dialogue System

The asset contains three different parts: the graph, the behaviour, and the UI skin. Each of these parts has its tasks and responsibilities.

  • The graph contains all the elements of a single dialogue. This includes text elements and logic too.
  • The UI skin is responsible for visualizing the graph. It shows a single text with the answers from what the player can choose from.
  • The behaviour connects the graph and the UI skin together and also can react to events in the game world.

This is very similar to the Model – View – Controller architecture pattern if you are familiar with it. We can say the graph is our model, the UI skin is our view, and the behaviour is the controller. Although I had to break some rules of the MVC pattern.

The dialogue system uses specific terminology. To get the most out of this documentation, you have to understand these first.

  • Action/Node: Node and action are synonyms for the case of the Dialogue System. It’s common to call the Node as an Action in a node-based editor. I wrote about the different nodes you can find in the asset here.
  • Actor: Let’s keep it simple, the actor is the one who talks. It’s represented by a name and a portrait, both of these are optional. You can have any number of actors in your dialogue.
  • Graph: this is a collection of nodes, which you can edit with the node-based editor.
  • Conversation: the most basic type of dialogues. Can be a monologue or a discussion in a question-answer form.
  • Ambient Dialogue: This is a monologue that is spoken by the actor. Usually, in games, the text appears above the actor’s head, or in the chat window. Others call this type of dialogue a Bark.
  • Wire: these lines live in the dialogue graph, and represents the connections between nodes. The white wires are showing the execution flows, while the colored ones the data flow.
  • Variables: The system handles four basic types: strings, boolean values, integer, and floating point numbers. There are global and local variables, the latter is connected to a graph. This is one of the two features that make the Dialogue System really flexible and powerful.
  • Events: The other great feature is the event system. The dialogue graph can receive events from outside (from other systems or codes), and it can also trigger UnityEvents. Check the advanced section of the documentation about more information.

Almost impossible to present all the possibilities that you can do with this asset. On top of this, every game is different and needs different solutions. Regardless of my effort to make this documentation as full as possible, chances are you will have a question.

First and usually the fastest way to get that answered during working with the asset, is to click on the help icon in the inspector. This will open the online documentation for that particular element.

If you can’t find the solution in the documentation, feel free to contact me!

You can get my help in different ways:

Email

This is the most effective way to get your problem solves.

Forum

You can post your question in the Forum or shoot a private message to me.

Discord

Join our private server, and send me a message. I'll add you to the right channel.

You are always welcome to get in touch with us through Facebook or Twitter.

I always answer to my customers, though time-zone difference or my other tasks could slow things down. My average response time is within 1 day. If you don’t receive my answer, double check our support availability on the contact page!

If you don’t receive my answer for a while, and the availability suggest you should get it already, don’t panic! Chances are there is some technical issue. Although this doesn’t happen often, it’s good to be prepared. Try to reach me on a different platform.