Decorator Node

Type description and basic instructions.

Description

Decorator Node is base abstract class for all decorator nodes.

To create a custom decorator node you should inherit from Decorator Node class and implement logic that is described below.

OnUpdate

When inheriting from Decorator Node you have to override OnUpdate method.

public class ExampleDecoratorNode : DecoratorNode
{
    protected override State OnUpdate() 
    { 
        throw new System.NotImplementedException();
    }
}
  • OnUpdate gets called every tick during node execution according to Behaviour Tree Update Mode.

  • OnUpdate returns state of the node after update.

OnEnter and OnExit

You can also override OnEntry and OnExit methods.

public class ExampleDecoratorNode : DecoratorNode
{
    protected override void OnEntry()
    {
        base.OnEntry();
    }
 
    protected override State OnUpdate() 
    { 
        throw new System.NotImplementedException();
    }
    
    protected override void OnExit()
    {
        base.OnExit();
    }
}

FlowUpdate

You can also override FlowUpdate method.

public class ExampleDecoratorNode : DecoratorNode
{
    protected override State OnUpdate()
    {
        throw new System.NotImplementedException();
    }

    protected override void FlowUpdate()
    {
        base.FlowUpdate();
    }
}
  • FlowUpdate gets called every tick regardless of the node execution.

To create custom decorator nodes in editor you should add Node Content attribute to your custom decorator node class.

Last updated