A Dialogue is composed of nodes displayed from top to bottom, and can even be set as children of other nodes.
Nodes can be dragged and dropped to change their position in the conversation tree. Dragging and dropping onto another node, will convert the dragged one into a child of the targeted.
There are three different node types: Text, Choices and Random nodes.
Text nodes are the most common and used to display conversations. They display a text message on screen and simply jump to the next node when they are finished.
Using child nodes of Text
It's important to note that a Text node can contain children nodes. These will be executed if, and only if, the parent Text node's conditions are satisfied. This is specially useful if you want to display a conversation only after meeting certain conditions.
Any text can be enhanced with rich text tags, which allow to change the color, size and other properties of specific regions. For example, to display the word
James in white in the phrase
Hello James, you can surround the specified word between
More about Rich Text
Read the official Unity documentation on Rich Text
Choice nodes prompt the user with a collection of choices. How these choices are presented and their behavior is configured below with a new set of fields that appear.
Options from Skin
Since version 2.2.8 Choice options are configured in the Dialogue Skin by default. However, you can change the dropdown option from From Skin to From Node and a list of options that override those from the Skin will appear.
The available choices are picked from the direct children of the Choices node, which should usually be Text nodes.
- Hide Unavailable: Determines whether unavailable choices (their Conditions return false) should be displayed (but greyed out) or hide them completely.
- Hide Visited: Determines whether the choice is skipped if the line has already been visited.
- Skip Choice: Allows to skip the execution of the Text choice selected, and skip to the next immediate one.
- Shuffle Choices: When ticked, the choices order will be shuffled and displayed randomly.
- Timed Choice: Determines if the choice has a time limit. If checked, two new fields wil appear down below.
- Duration: Specifies the amount of time the user has to pick a choice, in seconds.
- Timeout: Defines what happens if the user fails to input a choice, which can either be picking one at random, the first option or the last one (both prior to shuffling, if enabled)
Choosing Skip Choice allows the player to not speak the dialogue line when picking it from the prompt. For example, let's say a bartender asks the player whether they want a drink. The Player could see the option "Yes, a Moonlight Specter". If left unchecked, the Player would then execute the Text node. Some games, however, don't repeat the choice made by the user and assume the player already said it when the user picked the choice.
If the Choices does only have a single choice available, it will be automatically selected without requiring the user to choose it.
Random picks are similar to Choices, except for the fact that the user is not prompted to pick them, and instead, they are randomly picked.
Options from Skin
Since version 2.2.8 Random options are configured in the Dialogue Skin by default. However, you can change the dropdown option from From Skin to From Node and a list of options that override those from the Skin will appear.
The Random node also has the field Allow Repeat which determines whether the same choice can be picked in a row, or not.
Random choices are useful to allow characters to pick a random line from a collection. For example, a shop keeper could greet the player differently every time they talk.