Dialogues
Description: Nodes, branches, and how a conversation is evaluated at runtime.

A dialogue is a conversation drawn as a graph: each node is something that happens — a line of speech, a set of replies, a check against game state — and the connections between them decide what happens next. Playing a dialogue means walking the graph node by node, following whichever connection the current node leads to, until play reaches a node with nowhere left to go.
Every dialogue graph has exactly one Dialogue Entry node. It's created with the graph, can't be deleted, and is where play begins whenever this dialogue runs on its own rather than being entered partway through from a quest.
Make sure all paths in your dialogues conclude with an "End Conversation" node to prevent dialogues from reaching a hung state.
Node types
- Dialogue Node — a speaker and their text. This is the node your writers spend most of their time in, and the one that carries a conversation's actual lines.
- Choice Node — a branch point with no speaker text of its own. Reserve it for offering the player a choice outside the flow of a conversation; a line with replies attached should almost always be a Dialogue Node with choices, not a separate Choice Node.
- Jump Node — redirects flow to another node in the same graph, without saying anything itself. Useful for looping back to an earlier point or merging branches back together without crossing connections all over the canvas.
- Hub Node — branches automatically, without asking the player anything. Each of its outputs carries its own condition, and play follows whichever one matches the current game state.
- Gate — pauses the conversation until a condition becomes true, then continues on its own.
- Instruction Node — does something rather than says something: sets a variable, advances a quest, or signals your game in whatever way the moment calls for.
- End Conversation — marks an ending. A dialogue needs at least one; having several, one per distinct ending, is normal.
- Comment — a note to yourself on the canvas. It has no effect on how the conversation plays.
Reacting to game state
A Dialogue Node's text and a choice's label aren't limited to what was typed at author time — either can embed a variable's value or branch its own wording based on game state, right inside the string. See Text directives for the syntax.
Activating a dialogue
In the game engine, often dialogue graphs are simply started directly. For instance, an interaction with an NPC can invoke a dialogue graph.
A quest graph can also drop the player straight into a dialogue with a Start Dialogue node, either at the dialogue's own entry point or at a specific node inside it — useful for resuming a conversation partway through rather than always starting from its greeting. See Quests for how the two connect.
Debugging
The simulator steps through a conversation node by node, showing the path taken and the variable values behind each decision — including branches the player never saw and why they were skipped.
Next
Quests covers the other half of the model, and Variables and conditions covers the state both share.