Function Nodes and Bindings
Rules and Actions are both based on functions. Once a function is selected, its inputs and outputs become part of the Behavior Asset pipeline.
This page explains the shared function model used by both systems, including custom functions, supported types, exposed inputs, and data bindings.
For action-specific behavior, see Actions.
For decision logic, see Rules and Operators.
Function-Based Nodes
Both Rules and Actions are created by selecting a function.
Once a function has been assigned, the corresponding node exposes its available inputs and outputs. These pins can then participate in the larger behavior flow.
This makes the system flexible, because both rules and actions are driven by the same general function model.
Built-in and Custom Functions
The Behavior System supports both built-in functionality and project-specific custom functions.
Custom functions can be provided through a Blueprint function library.
To make a Blueprint function available to the Behavior System, it must be part of a supported function library and exposed in a way that the pipeline can detect.
If a Blueprint function is marked as pure, it is only visible for Rules. To make it available for Actions, the function must not be pure.
Refreshing Functions
The available function list can be refreshed through the Refresh button.
This is useful when:
a new function was added
an existing function changed its inputs
an existing function changed its outputs
Refreshing updates the pipeline view so that rules and actions use the latest function signature.
Supported Input and Output Types
The following input and output types are supported by both Rules and Actions:
Type | Notes |
|---|---|
String | Standard string value |
Boolean | True or false |
Integer | 32-bit integer |
Integer64 | 64-bit integer |
Byte | Byte value |
Float | Floating point number |
Double | Double precision number |
Vector | Vector value |
Rotator | Rotator value |
Transform | Transform value |
Gameplay Tag | Gameplay tag value |
Object Reference | Object reference |
Name | Unreal name value |
Class Reference | Class reference |
Struct | May appear as a single abstract pin |
Enum | May appear as an abstract numeric representation |
Text | Localized text value |
Exposed Inputs
Some function inputs can be made configurable through the Tag Manager panel.
This is done through the eye icon on the input pin. When enabled, the input becomes visible in the Tag Manager for the corresponding Behavior Asset reference.
This makes it possible to reuse the same function-based node while still configuring specific input values per TagSet, group, or tag reference.
Context Binding
The + button on an input allows you to bind the input to available event context values.
Examples of event context values include:
ObjectNewNameOldNameActorComponentWorld
Whether a specific context value is available depends on the selected event.
Binding Previous Outputs
Inputs can also be connected to outputs from earlier parts of the graph.
Depending on the flow, an input may be bound to:
previous rule outputs
previous action outputs
This allows data to move through the behavior pipeline instead of each node working only with fixed values.
Shared Data Flow
The function binding system is one of the core building blocks of the Behavior System.
It allows rules and actions to:
consume event context
consume previous outputs
expose configurable inputs
share common supported data types
This shared model is what makes the pipeline feel consistent across different node types.