Node Types

Node Types Reference

StoryFlow Editor's visual scripting system provides 21 specialized node types for creating complex interactive narratives without code.

Overview

Nodes are the building blocks of StoryFlow Editor's visual scripting system (also referred to as the node editor). Each node type represents a specific operation or action that can be combined to create complex branching narratives. Instead of writing code, you connect these nodes visually to define your story's logic and flow. All nodes are organized into four main categories, matching the node creation menu in the editor.

Node Categories

Visual Indicators:

Flow Control

Control flow nodes determine how your story progresses from one point to another. They manage execution order, branching, dialogue presentation, and script organization.

Start

Start

The Start node is the entry point for every script. When a script is executed, the runtime begins at the Start node and follows the connections to determine what happens next.

Key Features:

Important

Every script must have exactly ONE Start node with the ID "0". This is where your story begins execution. The editor automatically creates this node when you create a new script.

Dialogue

Dialogue

Example Dialogue Node

Example Option

Condition

On Click

The Dialogue node is the heart of your interactive story. It displays text to the player, can show background images, and presents options that branch your narrative.

Properties:

Handles:

Use Cases:

Tip

Double-click a Dialogue node to open the Dialogue Editor in the right sidebar. This provides a dedicated interface for editing all dialogue properties including text, options, and background images. Learn more about the Dialogue Editor →

Dialogue Editor interface showing the side panel with title field, text area, background image selector, and options management

Run Script

Run Script

Select Script

The Run Script node loads and executes another .sfe script file. This enables modular story organization by splitting your narrative across multiple files.

Properties:

Handles:

Use Cases:

Branch

Branch

True

Condition

False

The Branch node creates conditional logic in your story. It evaluates a boolean condition and routes execution to either the True or False output path.

Inputs:

Outputs:

Use Cases:

Note

When the Condition input is not connected, a checkbox appears allowing you to manually set the default value. This is useful for testing or creating static branches.

End

End

The End node terminates the current script execution. When the runtime reaches an End node, the story flow stops at that point.

Features:

Use Cases:

Comment

Comment

Example comment text

The Comment node is a special node for adding text annotations to your node graph. It doesn't participate in execution and is purely for documentation purposes.

Features:

Use Cases:

Boolean Operations

Boolean operation nodes perform logical operations on true/false values. They're essential for creating complex conditional logic by combining multiple boolean conditions. All boolean nodes have a yellow glow to indicate they work with boolean values.

Not

NOT

The NOT node inverts a boolean value without changing the original: outputs false when input is true, outputs true when input is false.

Key Features:

And

AND

The AND node returns true only if BOTH inputs are true.

Key Features:

Or

OR

The OR node returns true if ANY input is true.

Key Features:

Equal

==

The Equal (Boolean) node returns true if both boolean inputs have the same value.

Key Features:

Integer Operations

Integer operation nodes perform comparisons and arithmetic on whole numbers. All integer nodes have a cyan glow to indicate they work with numeric values.

Greater Than

Returns true if the top input is greater than the bottom input.

Greater Than or Equal

=

Returns true if the top input is greater than or equal to the bottom input.

Less Than

<

Returns true if the top input is less than the bottom input.

Less Than or Equal

<=

Returns true if the top input is less than or equal to the bottom input.

Equal

==

Returns true if both integer inputs are exactly equal.

Plus

The Plus node adds two integers together (top + bottom).

Minus

The Minus node subtracts the bottom input from the top input (top - bottom).

Common Features (All Integer Operation Nodes):

Variables

Variable nodes allow you to read (Get) and write (Set) values to boolean and integer variables. Variables store state information that persists throughout your story.

Get Boolean

hasKey

Read a boolean variable's current value. Boolean variables store true/false values that represent flags, states, and binary choices. Examples: hasCompletedQuest, playerIsAlive, doorIsOpen, talkedToMerchant.

Key Features:

Set Boolean

SET

hasKey

Change a boolean variable's value during story execution.

Key Features:

Get Integer

playerGold

Read an integer variable's current value. Integer variables store whole numbers for stats, counters, scores, and quantities. Examples: IntegerplayerHealth, IntegergoldAmount, IntegerquestProgress, IntegerenemyCount.

Key Features:

Set Integer

SET

playerGold

Change an integer variable's value during story execution.

Key Features:

Creating Variable Nodes

You can create Get/Set nodes in two ways:

Variable Scopes:

Example: Adding Gold

To add 50 gold to the player's total:

  1. Create a Get Integer node for "playerGold" variable
  2. Create a Plus node
  3. Connect Get node to Plus node's top input
  4. Set Plus node's bottom input to 50 (or connect another Get node)
  5. Create a Set Integer node for "playerGold"
  6. Connect Plus node's output to Set node's value input

Connection Types

StoryFlow Editor enforces strict type safety for connections. Handles can only connect to compatible handles, preventing logic errors.

Primary Handles (Execution Flow):

Boolean Handles (Yellow):

Integer Handles (Cyan):

Connection Validation

The editor prevents invalid connections automatically. You cannot connect a boolean handle to an integer handle, a node to itself, or exceed maximum connection limits. This type safety ensures your story logic is always valid.

Next Steps

Now that you understand all 21 node types, learn how to work with variables to create dynamic, state-driven narratives, or explore exporting your stories as playable HTML games.

→ Visual Scripting→ Connections→ Variables→ Dialogue Editor

← Previous: Visual Scripting Overview

Next: Dialogue Editor →