Language:
Page Info
Engine Version:

Behavior Tree Node Reference: Decorators

Choose your OS:

Decorator, also known as conditionals in other Behavior Tree systems, are attached to either a Composite or a Task node and define whether or not a branch in the tree, or even a single node, can be executed.

Blackboard

Blackboard.png

The Blackboard node will check to see if a value is set on the given Blackboard Key.

Property

Description

Notify Observer

On Result Change

Reevaluate only when the condition has changed.

On Value Change

Reevaluate only when the observed Blackboard Key changes.

Observer Aborts

None

Do not abort anything.

Self

Abort self, and any sub-trees running under this node.

Lower Priority

Abort any nodes to the right of this node.

Both

Abort self, any sub-trees running under me, and any nodes to the right of this node.

Key Query

Is Set

Is the value set?

Is Not Set

Is the value not set?

Blackboard Key

The key to check. This is most useful for data types that can return None such as Objects, as other types may return their initialized values (0, false, {0,0,0}, etc...).

Node Name

The name the node should display in the Behavior Tree graph.

Compare Blackboard Entries

CompareBBEntries.png

The Compare Blackboard Entries nodes will compare the values of two Blackboard keys and will block or allow the execution of a node based on that result (either equal to or not equal to).

Property

Description

Operator

Is Equal To

Are the two keys equal to each other?

Is Not Equal To

Are the two keys different to each other?

Blackboard Key A

The first key to use in this comparison.

Blackboard Key B

The second key to use in this comparison.

Observer Aborts

None

Do not abort anything.

Self

Abort self, and any sub-trees running under this node.

Lower Priority

Abort any nodes to the right of this node.

Both

Abort self, any sub-trees running under me, and any nodes to the right of this node.

Node Name

The name the node should display in the Behavior Tree graph.

Composite

Composite.png

The Composite Decorator node enables you to setup more advanced logic than the built in nodes but not as complex as a full Blueprint. Once you have added a Composite Decorator to a node, Double-click the Composite Decorator to bring up the Composite's Graph. By Right-clicking in the graph area you can add Decorator Nodes as stand alone nodes, then wire them together through AND nodes, OR nodes, and NOT nodes, to create more advanced logic:

CompositeGraph.png

Property

Description

Composite Name

The name the node should display in the Behavior Tree graph.

Show Operations

This will cause the operations to be listed on the node in plain text.

Conditional Loop

As long as the Key Query condition is met, this Decorator will have the node it's attached to loop.

ConditionalLoop.png

Property

Description

Node Name

The name the node should display in the Behavior Tree graph.

Key Query

Is Set

Is the value set?

Is Not Set

Is the value not set?

Blackboard Key

The key to check. This is most useful for data types that can return None such as Objects, as other types may return their initialized values (0, false, {0,0,0}, etc...).

Cone Check

ConeCheck.png

The Cone Check decorator takes in 3 vector keys: the first for the location to start the cone, the second to define the direction the cone points, and the third for the location to check if it is inside the cone. You define the angle of the cone by using the Cone Half Angle property.

Property

Description

Cone Half Angle

The half angle of the cone. So for a 90 degree cone, this value should be set to 45 degrees.

Observer Aborts

None

Do not abort anything.

Self

Abort self, and any sub-trees running under this node.

Lower Priority

Abort any nodes to the right of this node.

Both

Abort self, any sub-trees running under me, and any nodes to the right of this node.

Cone Origin

The location where the cone should start (the tip of the cone).

Cone Direction

The direction in which the mouth of the cone should point.

Observed

The location or Actor that is being checked to see if it is in the cone.

Inverse Condition

Should the result be reverse (true to false, false to true).

Node Name

The name the node should display in the Behavior Tree graph.

Cooldown

Cooldown.png

The Cooldown node will lock the execution of a node or branch until the cooldown time expires.

Property

Description

Cool Down time

The time, in seconds, the Cooldown decorator should lock execution of this node.

Observer Aborts

None

Do not abort anything.

Self

Abort self, and any sub-trees running under this node.

Lower Priority

Abort any nodes to the right of this node.

Both

Abort self, any sub-trees running under me, and any nodes to the right of this node.

Node Name

The name the node should display in the Behavior Tree graph.

Does Path Exist

DoesPathExist.png

The Does Path Exist node checks to see if a path can be made from the two vectors: Blackboard Key A and Blackboard Key B.

Property

Description

Blackboard Key A

The first location in the path.

Blackboard Key B

The second location in the path.

Path Query Type

NavMesh Raycast 2D

Really Fast.

Hierarchical Query

Fast.

Regular Path Finding

Slow.

Inverse Condition

Should the result be reverse (true to false, false to true).

Observer Aborts

None

Do not abort anything.

Self

Abort self, and any sub-trees running under this node.

Lower Priority

Abort any nodes to the right of this node.

Both

Abort self, any sub-trees running under me, and any nodes to the right of this node.

Filter Class

Which navigation data should be used? If set to None the default navigation data will be used.

Node Name

The name the node should display in the Behavior Tree graph.

Force Success

ForceSuccess.png

The Force Success decorator changes the node result to a success.

Property

Description

Node Name

The name the node should display in the Behavior Tree graph.

Gameplay Tag Condition

GameplayTagCondition.png

Property

Description

Actor to Check

The Blackboard Key that contains the reference to the Actor to check.

Tags to Match

Should the Decorator match Any or All of the Tags listed in the property Gameplay Tags.

Gameplay Tags

Loads the Gameplay Tag editor to select the tags that should be used in this Decorator.

Inverse Condition

Should the result of this Decorator be inversed? (false becomes true, true becomes false)

Node Name

The name the node should display in the Behavior Tree graph.

Is Blackboard Value of Given Class

IsBlackboardValueOfGivenClass.png

Property

Description

Test Class

The Class type that is tested against Class of the Object of the Blackboard Key property.

Blackboard Key

The Blackboard Key that is tested.

Observer Aborts

None

Do not abort anything.

Self

Abort self, and any sub-trees running under this node.

Lower Priority

Abort any nodes to the right of this node.

Both

Abort self, any sub-trees running under me, and any nodes to the right of this node.

Node Name

The name the node should display in the Behavior Tree graph.

Keep in Cone

KeepInCone.png

Property

Description

Cone Half Angle

The half angle of the cone. So for a 90 degree cone, this value should be set to 45 degrees.

Observer Aborts

None

Do not abort anything.

Self

Abort self, and any sub-trees running under this node.

Lower Priority

Abort any nodes to the right of this node.

Both

Abort self, any sub-trees running under me, and any nodes to the right of this node.

Cone Origin

The location where the cone should start (the tip of the cone)

Observed

The location or Actor to keep in the cone.

Node Name

The name the node should display in the Behavior Tree graph.

Loop

Loop.png

Loops the node or branch a number of times, or infinitely.

Property

Description

Num Loops

The number of loops to run.

Infinite Loop

Should this loop run indefinitely?

Node Name

The name the node should display in the Behavior Tree graph.

Reached Move Goal

ReachedMoveGoal.png

The Reached Move Goal node will check the path of the Pawn (with a Character Movement component) and return a success if the Pawn has reached its movement goal.

Property

Description

Inverse Condition

Should the result be reverse (true to false, false to true).

Node Name

The name the node should display in the Behavior Tree graph.

Set Tag Cooldown

SetTagCooldown.png

Property

Description

Cooldown Tag

The GameplayTag that will be used for the Cooldown.

Cooldown Duration

How long the Cooldown is in seconds.

Add to Existing Duration

If there is an existing Cooldown on the given GameplayTag, should we add more?

Node Name

The name the node should display in the Behavior Tree graph.

Tag Cooldown

TagCooldown.png

Property

Description

Cooldown Tag

The GameplayTag that will be used for the Cooldown.

Cooldown Duration

How long the Cooldown is in seconds.

Add to Existing Duration

If there is an existing Cooldown on the given GameplayTag, should we add more?

Adds/Sets Cooldown on Deactivation

Whether or not we are adding/setting to the CooldownTag's value when the decorator deactivates.

Observer Aborts

None

Do not abort anything.

Self

Abort self, and any sub-trees running under this node.

Lower Priority

Abort any nodes to the right of this node.

Both

Abort self, any sub-trees running under me, and any nodes to the right of this node.

Node Name

The name the node should display in the Behavior Tree graph.

Time Limit

TimeLimit.png

The Time Limit decorator will give a branch or node a set amount of time to finish before stopping it and failing out. The timer is reset every time the node gains focus.

Property

Description

Time Limit

The time limit before the node fails out, in seconds.

Observer Aborts

None

Do not abort anything.

Self

Abort self, and any sub-trees running under this node.

Lower Priority

Abort any nodes to the right of this node.

Both

Abort self, any sub-trees running under me, and any nodes to the right of this node.

Node Name

The name the node should display in the Behavior Tree graph.