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.
There are two ways to set a flag:
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.
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.
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.
Flags drive conditional logic through conditions. Conditions appear in two places:
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 |