Storyarn docs
EN
Log in
Documentation

Narrative Design

Entry & Exit Nodes

Where a flow starts, how it ends, and how outcomes connect larger narrative structures.

Entry and Exit nodes define the boundaries of a flow. They are simple on the canvas, but they matter because they decide how a flow starts, when it finishes, and how other flows can call into or return from it.

Flow canvas showing the Entry node connected to a short branch and multiple Exit nodes with outcome labels

Entry nodes

Every flow has one Entry node. It is created with the flow and cannot be deleted. Execution begins here when you debug the flow or enter it from a Subflow node. Playback in the Sequence editor starts from the dialogue you select instead.

Entry nodes are mostly structural. Use them as the first connection point in the flow, then branch into the first dialogue, condition, or setup instruction.

Exit nodes

Exit nodes mark where a path finishes. A flow can have one exit or many exits, depending on how much outcome information you need to expose to callers.

Common examples:

Use caseExit setup
A simple conversation endsOne terminal Exit node
A quest branch succeeds or failsSeparate exits like accepted, declined, completed
A reusable subflow returns to a parent flowExit nodes configured to return to caller
A flow hands off to another flowExit node configured to continue to another flow

Exit modes

Exit nodes support three modes:

ModeBehavior
TerminalEnds the current run. Use it when the flow is complete.
Continue to flowJumps into another flow after this path ends. Use it for explicit flow chaining.
Return to callerReturns to the parent flow that entered through a Subflow node. Use it for reusable nested flows.

Where an exit leads

Select an Exit node and its toolbar asks for what its mode needs:

  • Terminal can lead somewhere when the flow ends: pick a scene or another flow under Destination. In exploration, the player travels to that scene, or that flow opens next. The debugger stops at the exit.
  • Continue to flow asks for the Next flow. The debugger follows it into that flow.
  • Return to caller asks for nothing.

Changing the mode clears what the previous mode pointed to. A flow never leads to itself, so the pickers do not offer the flow you are editing.

Outcome tags

Outcome tags describe what happened on that path. They make exits easier to read in the canvas and give Subflow callers meaningful output pins. Add and remove them with the tags button in the Exit’s toolbar, which suggests the tags other exits of the project already use.

For example, a reusable negotiation flow might expose exits named:

accepted
refused
needs_payment
failed_check

When another flow uses it as a Subflow, those outcomes become the branches the parent flow can connect to.

Practical pattern

For small flows, one terminal Exit node is enough. For reusable flows, define exits around the decisions the caller cares about. Avoid creating exits for internal implementation details that no parent flow needs to know.