-
Notifications
You must be signed in to change notification settings - Fork 23
Standard Behavior Tree Nodes
Stacey edited this page Nov 21, 2020
·
10 revisions
Want to learn the fundamentals of behavior trees? Check out my tutorial, Get Started With Behavior Trees in Unity.
The Standard Nodes sample project contains a set of standard behavior tree nodes that can be used for your game. You can import it into your project through Package Manager.
Here's what you need to know:
- There are 11 specialized composite and decorator nodes.
- When creating new nodes, make sure to inherit from
Composite
,Condition
andDecorator
when creating new nodes of those types. - Action/Leaf nodes can be inherited from
Node
directly. - Make sure to configure the settings file!
There are two general node types:
Name | Description |
---|---|
Node | Base class for all node types - Everything should ultimately derive from this. |
Condition | Base class for all condition node types. Does not do anything special. Exists so that you can stylize all conditions in the debugger tool easily. |
Composites are essentially instructions for your behavior tree on how it should run a group of child nodes.
Name | Description |
---|---|
Composite | Base class for all composite node types. |
Selector | Runs each child until one of them returns status Success. Will return failure if no child runs successfully. |
RandomSelector | Shuffles the child nodes the first time the behavior tree is constructed (only once). Executes the same as Selector
|
AlwaysRandomSelector | Shuffles the child nodes every time it runs for the first time. Executes the same as Selector . |
Sequence | Will continue to run if all children return the status of Running or Success. Return a status code of Failure if any children return status Failure. Returns status code of Success if all children return Success. |
RandomSequence | Shuffles the child nodes the first time the behavior tree is constructed (only once). Executes the same as Sequence . |
AlwaysRandomSequence | Shuffles the child nodes every time it runs for the first time. Executes the same as Sequence . |
Decorators are a way to alter how an individual node is run. These can range from changing the return status code (Inverter
) to defining how many times to execute (Repeater
).
Name | Description |
---|---|
Decorator | Base class for all decorator node types. Supports a single child. |
Delay | Executes a timer and then runs the child node once. |
Inverter | Inverts the final result of the node - Success will return Failure and Failure will return Success . |
Repeater | Run the child node a specified amount of times before exiting. |
Succeeder | Returns Running status if running otherwise returns the Success status. Never the failure status. |
Timer | Run the child node a specified amount of time in seconds. |
UntilFail | Continues to run the child node until the child returns a status of Failure . |
Behavior Tool Debugger was created by What Up Games, LLC. It is currently in beta.