Unreal Directive Docs
PluginsBranching Boolean

Node Reference

Complete technical reference for the Branch on Boolean node

This page provides a complete technical reference for the Branch on Boolean node, including all properties, pins, and behavior details.

Node Overview

PropertyValue
Class NameUK2Node_BranchOnBooleanState
CategoryFlow Control > Boolean
Node TypeLatent (has execution pins)
Pure NodeNo

The Branch on Boolean node reads a boolean variable and branches execution based on its value. It combines the functionality of a Get node and a Branch node into a single, streamlined node.

Pins

Input Pins

PinTypeDescription
ExecuteExecThe execution input. Connect to an event or previous node's output execution pin.

Output Pins

PinTypeDescription
TrueExecExecutes when the selected boolean variable evaluates to true.
FalseExecExecutes when the selected boolean variable evaluates to false.

Unlike a Get + Branch combination, the Branch on Boolean node does not expose a data output pin for the boolean value. If you need the boolean value for other purposes, use a separate Get node.

Properties

Access these properties by selecting the node and viewing the Details Panel.

Variable Category

PropertyTypeDescription
Variable NameFName (Dropdown)The boolean variable to evaluate. Displays all available boolean variables in the current Blueprint.

Internal Properties

These properties are managed automatically and are not directly editable:

PropertyDescription
Variable ReferenceInternal reference to the variable, including its GUID for rename tracking.
Variable Source ClassThe class that owns the variable (for inherited properties).
Is Self ContextWhether the variable belongs to the current Blueprint instance.
Is Local VariableWhether the variable is a function-local variable.

Compilation Behavior

During Blueprint compilation, the node expands into intermediate nodes:

Branch on Boolean Node

    [Expansion]

┌───────────────────────┐
│  UK2Node_VariableGet  │ (reads the boolean value)
│          ↓            │
│  UK2Node_IfThenElse   │ (performs the branch)
└───────────────────────┘

This expansion is transparent to the user but ensures the node compiles to the same bytecode as a manual Get + Branch combination.

Context Menu Options

Right-clicking the node provides these options:

OptionDescription
Break All LinksDisconnects all pins from the node.
Find ReferencesSearches the Blueprint for other references to the selected variable.
Go to DefinitionNavigates to the variable's definition in the Variables panel.

Tooltip

Hovering over the node displays a tooltip with:

  • The variable name being evaluated
  • Description of the True/False execution paths

Example tooltip:

"Branches execution based on the value of bIsAlive. True executes the 'True' pin; False executes the 'False' pin."

Node Appearance

Title

The node title dynamically updates based on the selected variable:

  • No variable selected: "Branch on Boolean"
  • Variable selected: "Branch on [VariableName]" (e.g., "Branch on bIsAlive")

Title Color

The node uses a red title bar color (RGB: 0.85, 0.0, 0.0) to match the standard Branch node appearance.

Icon

Uses the same branch icon as the built-in Branch node (GraphEditor.Branch_16x).

Validation

The node performs validation during compilation:

ValidationError Message
No variable selected"No variable specified"
Variable not found"Variable '[name]' not found"
Boolean output pin missing"Could not find boolean output pin"

If a variable is deleted or renamed in a way that breaks the GUID reference, the node will show a compilation error. Fix by selecting a valid variable from the dropdown.

Event Handling

Post Placed New Node

When the node is first placed, it automatically selects the first available boolean variable if one exists.

Post Reconstruct Node

After node reconstruction (e.g., when opening a Blueprint), the node:

  1. Syncs the variable name from the stored GUID (handles renames)
  2. Refreshes the variable reference

Property Change

When the Variable Name property changes, the node:

  1. Clears the old variable reference
  2. Looks up the new variable by name
  3. Reconstructs the node to update the title

Performance

  • Editor Performance: Negligible impact. Variable lookup is performed only when needed.
  • Runtime Performance: Zero cost. The node compiles to the same bytecode as Get + Branch.
  • Packaged Builds: Not included. The plugin is editor-only.

Integration Points

Blueprint Action Database

The node registers with the Blueprint Action Database, making it available in:

  • Right-click context menu (on boolean Get nodes)
  • Blueprint action search (search for "Branch on Boolean")

Located under: Flow Control > Boolean

Source Files

FilePurpose
K2Node_BranchOnBooleanState.hNode class declaration
K2Node_BranchOnBooleanState.cppNode implementation
BooleanToBranchHandler.h/cppContext menu handler for conversion
BranchingBooleanModule.cppPlugin module registration

On this page