Flag System

Flags are runtime key-value pairs that track story state during an interaction. Use flags to create conditional choices, lock or unlock story branches, and build non-linear narratives that respond to player decisions.

Flags exist only for the duration of a single interaction session. They reset when the interaction ends or a new one starts.

Setting Flags

There are two ways to set a flag:

Flag Action (Sequence Editor)

Add a Flag action to any node's sequence. This sets a flag when that entry is reached during playback.

Field Description
Key The flag name (any string, e.g., "metGuard", "hasKey", "trust")
Value The flag value (any string, e.g., "true", "3", "hostile")

If the value is omitted, the flag defaults to true.

Flag on Interact (Exploration Nodes)

In the Exploration Editor, each element has a "Flag on Interact" property. When the player clicks that element, the specified flag is set to "true". This is a quick way to track which objects the player has examined.

Node-Level Actions

Flags can also be set using node-level actions in the Properties Panel. These fire when the node starts executing, before the sequence plays. This is useful for setting flags at the beginning of a story branch regardless of which sequence entries the player sees.

Checking Flags (Conditions)

Flags drive conditional logic through conditions. Conditions appear in two places:

Choice Conditions

Each choice in a node can have a condition. The condition checks a flag value before the choice is displayed.

Field Description
Key The flag name to check
Operator ==, !=, >, <, >=, <=
Value The value to compare against

When the condition is met, the choice appears normally. When not met, the behavior depends on the Unmet Behavior setting:

Behavior Effect
Hidden The choice is not shown
Disabled The choice is grayed out and not clickable
Show Hint The choice is disabled and shows the hint text instead of the choice text