Wait Node
Overview
The Wait Node introduces a timed silent pause into a dialogue graph. When the runtime reaches a Wait Node, it immediately hides the Dialogue UI and suspends graph execution for a configurable number of seconds before automatically advancing to the next node.
No player input is required and nothing is displayed to the player during the wait — it is an invisible hold. This makes it ideal for scripted timing gaps: letting an animation play out before continuing dialogue, adding dramatic breathing room between scenes, or giving Cinemachine cameras time to blend before the next line of dialogue appears.

Ports
Previous
Input
Multi
Accepts connections from any upstream node.
Next
Output
Single
Connects to the node that executes after the wait completes.
Node Properties
Duration (seconds)
Float
2.0
How long the graph pauses, in seconds. The field is clamped to 0 or greater — negative values entered in the UI are automatically corrected to 0.
How It Works
When the DialogueManager processes a Wait Node at runtime:
Hides the Dialogue UI —
HideDialogueWindow()is called immediately so no dialogue panel is visible during the pause.Starts a coroutine —
StartCoroutine(WaitAndAdvance(duration))begins the timed wait.Waits — The coroutine suspends using
WaitForSeconds(Mathf.Max(0f, seconds)). TheMathf.Maxcall ensures a negative stored value never causes an error, even though the editor UI already clamps input to0.Marks processing complete — After the wait,
isProcessingis set tofalse.Advances —
AdvanceToNextNode()is called, following the single Next port to continue the graph.
⚠️
isProcessingremainstruefor the entire duration of the wait. This prevents any other graph traversal or dialogue action from firing until the pause is fully complete.
Validation
🔴 Error
Output port (Next) is not connected
"Wait node output is not connected"
🟡 Warning
Duration is less than 0
"Wait duration is negative — will be treated as 0"
Note: Unlike most other nodes, an unconnected output on a Wait Node is treated as an error rather than a warning. Because the Wait Node hides the Dialogue UI and suspends execution with no player interaction available, an unconnected output would silently freeze the dialogue system with no way for the player to recover.
Usage Tips
Pacing between lines — Place a Wait Node between two Dialogue Nodes to add a natural pause, simulating a character thinking or a dramatic beat before the next line appears.
Letting cameras settle — After a
CinemachineDialogueNodewith a fast blend time, a Wait Node gives the virtual camera time to reach its final position before dialogue text appears.Animation timing — Use a Wait Node alongside a
MalbersCharacterActionNodeorReactions2Nodeto hold the graph while an animation plays before continuing.Duration of
0— A duration of0still hides the Dialogue UI for a single frame and processes a coroutine yield. If you simply want to sequence nodes without any delay, connect them directly instead.Silent cutscene gaps — In fully cinematic sequences where the Dialogue UI is already managed externally, a Wait Node provides a clean, self-contained delay without requiring any additional scripting.
Chaining waits — Multiple Wait Nodes can be placed in sequence for longer, staged delays (e.g., a 2-second pause, then an action, then another 1-second pause before dialogue resumes).
Last updated