Namespace Unity.Behavior
Classes
Action
The base class for action nodes used in Behavior Graphs.
BehaviorGraph
BehaviorGraph holds all the runtime graph instances linked together into a complete behaviour defined within a BehaviorAuthoringGraph.
BehaviorGraphAgent
Manages a behavior graph's lifecycle on a GameObject and handles data through blackboard variables.
The BehaviorGraphAgent maintains the following lifecycle states:
- Uninitialized - The graph has been assigned but not instantiated yet
- Initialized - The graph has been instantiated with a unique copy for this agent
- Started - The graph has started running
- Running - The graph is being updated each frame via Tick()
- Ended - The graph has been stopped and is no longer running
Initialization Sequence:
- When a graph is assigned in the Inspector, it's automatically initialized during Awake()
- When assigning a graph via the Graph property at runtime, it's automatically initialized during the next Update()
- You can also explicitly control initialization by calling Init() manually
Blackboard Variable Handling:
- Before initialization: SetVariableValue() sets agent-level overrides (visible in the Inspector)
- After initialization: SetVariableValue() sets values in the instanced graph's blackboard
BehaviorGraphCollisionEvents
This class is used to dispatch collision events to the behavior graph.
Blackboard
A data structure holding variables used by the Behavior Graph.
BlackboardEnumAttribute
The attribute specified when creating Blackboard enums. Apply this attribute above newly created enums to ensure they can be recognized and parsed by the Blackboard.
BlackboardReference
A reference to a Blackboard.
BlackboardVariable
A variable used within a blackboard.
BlackboardVariable<DataType>
A base class for blackboard variables serialized by value.
ComparisonAttribute
The ComparisonAttribute contains metadata for the comparison operator element used in conditions.
Composite
Composite nodes serves as a control structure that manages the flow and organization of other nodes within the tree.
Condition
The base class for conditions used in Conditional and Abort nodes.
ConditionAttribute
The ConditionAttribute contains metadata for conditions used in Behavior graphs.
ConditionUtils
A utility class for conditions used in Conditional nodes.
DynamicBlackboardVariableOverride
A variable override used for initializing Blackboards on subgraphs that are running dynamically.
EnumLinkField<TValueType>
A link field class specialized for enum types.
EventAction
Event actions are used to send and receive event messages.
EventChannel
Event channels are used to send and receive event messages.
EventChannelBase
Event channels are used to send and receive event messages.
EventChannelDescriptionAttribute
The EventChannelDescriptionAttribute contains metadata for event channels used in Behavior graphs.
EventChannel<T0>
Generic implementation of EventChannelBase. Event channels are used to send and receive event messages.
EventChannel<T0, T1>
Generic implementation of EventChannelBase. Event channels are used to send and receive event messages.
EventChannel<T0, T1, T2>
Generic implementation of EventChannelBase. Event channels are used to send and receive event messages.
EventChannel<T0, T1, T2, T3>
Generic implementation of EventChannelBase. Event channels are used to send and receive event messages.
GameObjectExtensions
Useful methods for GameObjects.
Join
A node that can have multiple inputs nodes.
Modifier
Modify the behavior of its child nodes.
Node
A base class for behaviour nodes used in the Behavior graph.
NodeDescriptionAttribute
The NodeDescriptionAttribute contains metadata for nodes used in Behavior graphs.
RuntimeBlackboardAsset
RuntimeBlackboardAsset is the runtime version of BehaviorBlackboardAsset. The data is baked at authoring time.
RuntimeSerializationUtility
Contains all interfaces and helper objects for runtime serialization of behavior graphs.
RuntimeSerializationUtility.JsonBehaviorSerializer
Implementation for JSON serializer.
TriggerEventAction
Event actions are used to send and receive event messages.
WaitForAllComposite
Activates its child when all parents have started this node. It cannot restart until the child's subgraph has ended.
Interfaces
IConditionSerializationCallbackReceiver
Interface for conditions use by Behavior nodes that need to handle custom serialization/deserialization logic. Implement this interface on condition classes that contain state which cannot be automatically serialized, or that need to pre-process data before serialization.
Note: These callbacks are only invoked for conditions that are part of a running node. Standard runtime registration logic should still be implemented in the Condition's OnStart/OnEnd methods.
IEventHandlerWithoutNotify
Interface for event channels that support creating event handlers without triggering notifications.
RuntimeSerializationUtility.IBehaviorSerializer<TSerializedFormat>
Interface for behavior serializor implementations.
RuntimeSerializationUtility.IUnityObjectResolver<TSerializedFormat>
Interface for all object resolvers. During runtime serialization, an object resolver is required to convert an object to and from a unique ID.
Enums
ComparisonType
The comparison type of Comparison Operator.
ConditionOperator
Represents the different operators that can be used to compare values.
Node.Status
Status of a graph node.
Delegates
BlackboardVariable.ValueChangedCallback
Delegate for blackboard variable value changes.
EventChannel.EventHandlerDelegate
Represents the method that will handle events.
EventChannel<T0>.EventHandlerDelegate
Represents the method that will handle events with one parameters of type T0.
EventChannel<T0, T1>.EventHandlerDelegate
Represents the method that will handle events with one parameters of types T0 and T1.
EventChannel<T0, T1, T2>.EventHandlerDelegate
Represents the method that will handle events with one parameters of types T0, T1 and T2.
EventChannel<T0, T1, T2, T3>.EventHandlerDelegate
Represents the method that will handle events with one parameters of types T0, T1, T2 and T3.