FBBKeyCachedAccessor ( const [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) & BBComponent, [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) InBBKey )


does not automatically support BB component or asset change

template<typename TBlackboardKey> struct FBBKeyCachedAccessor


Debugger data about subtree instance

ActivePath

Execution indices of active nodes

AdditionalActiveNodes

Execution indices of active nodes

PathFromPrevious

Search flow from previous state

RootNode

Root node in template

RuntimeDesc

Runtime descriptions for each execution index

TreeAsset

Behavior tree asset


static constexpr int32 InvalidExecutionId = -1;


Debugger data about current execution step

BlackboardValues

Blackboard snapshot: value descriptions

ExecutionStepId

Id of execution step

InstanceStack

Subtree instance stack

TimeStamp

Game world's time stamp of this step


Add specified node to the active nodes list

void AddToActiveAuxNodes ( [UBTAuxiliaryNode](API\Runtime\AIModule\BehaviorTree\UBTAuxiliaryNode) * AuxNode )


Add new parallel task

void AddToParallelTasks ( [FBehaviorTreeParallelTask](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeParallelTask) && ParallelTask )


Cleanup node instances

void Cleanup ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, [EBTMemoryClear::Type](API\Runtime\AIModule\BehaviorTree\EBTMemoryClear__Type) CleanupType )


Worker for updating all nodes

void CleanupNodes ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, [UBTCompositeNode](API\Runtime\AIModule\BehaviorTree\UBTCompositeNode) & Node, [EBTMemoryClear::Type](API\Runtime\AIModule\BehaviorTree\EBTMemoryClear__Type) CleanupType )


Deactivate all active aux nodes and remove their requests from SearchData

void DeactivateNodes ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, uint16 InstanceIndex )


Iterate on auxiliary nodes and call ExecFunc on each of them. Nodes can not be added or removed during the iteration

void ExecuteOnEachAuxNode ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(const [UBTAuxiliaryNode](API\Runtime\AIModule\BehaviorTree\UBTAuxiliaryNode) &)> ExecFunc )


Iterate on parallel tasks and call ExecFunc on each of them. Supports removing the iterated task while processed

void ExecuteOnEachParallelTask ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(const [FBehaviorTreeParallelTask](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeParallelTask) &, const int32)> ExecFunc )


Get list of all active auxiliary nodes

[TArrayView](API\Runtime\Core\Containers\TArrayView)< [UBTAuxiliaryNode](API\Runtime\AIModule\BehaviorTree\UBTAuxiliaryNode) *const > GetActiveAuxNodes() const


Get instance memory

[TArrayView](API\Runtime\Core\Containers\TArrayView)< const uint8 > GetInstanceMemory() const


Get list of all active parallel tasks

[TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FBehaviorTreeParallelTask](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeParallelTask) > GetParallelTasks() const


Check if instance has active node with given execution index

bool HasActiveNode ( uint16 TestExecutionIndex ) const


Initialize memory and create node instances

void Initialize ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, [UBTCompositeNode](API\Runtime\AIModule\BehaviorTree\UBTCompositeNode) & Node, int32 & InstancedIndex, [EBTMemoryInit::Type](API\Runtime\AIModule\BehaviorTree\EBTMemoryInit__Type) InitType )


Indicates if the provided index is a valid parallel task index

bool IsValidParallelTaskIndex ( const int32 Index ) const


Mark parallel task at given index as pending abort

void MarkParallelTaskAsAbortingAt ( int32 TaskIndex )


Deprecated* CopyingFBehaviorTreeInstanceassignement operator has been deprecated in favor of move assignement operator

[FBehaviorTreeInstance](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeInstance) & operator= ( const [FBehaviorTreeInstance](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeInstance) & Other )


[FBehaviorTreeInstance](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeInstance) & operator= ( [FBehaviorTreeInstance](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeInstance) && Other )


Remove specified node from the active nodes list

void RemoveFromActiveAuxNodes ( [UBTAuxiliaryNode](API\Runtime\AIModule\BehaviorTree\UBTAuxiliaryNode) * AuxNode )


Remove parallel task at given index

void RemoveParallelTaskAt ( int32 TaskIndex )


Remove all auxiliary nodes from active nodes list


Set instance memory

void SetInstanceMemory ( const [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & Memory )


Deprecated* CopyingFBehaviorTreeInstanceconstructor has been deprecated in favor of move-constructor

FBehaviorTreeInstance ( const [FBehaviorTreeInstance](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeInstance) & Other )


FBehaviorTreeInstance ( [FBehaviorTreeInstance](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeInstance) && Other )


Data required for instance of single subtree

ActiveAuxNodes

Active auxiliary nodes

ActiveNode

Active node in template

ActiveNodeType

Active node type

DeactivationNotify

Delegate sending a notify when tree instance is removed from active stack

InstanceIdIndex

Index of identifier (BehaviorTreeComponent.KnownInstances)

InstanceMemory

Memory: instance

ParallelTasks

Active parallel tasks

RootNode

Root node in template


bool operator== ( const [FBehaviorTreeInstanceId](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeInstanceId) & Other ) const


bool operator== ( const [FBehaviorTreeParallelTask](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeParallelTask) & Other ) const


FBehaviorTreeInstance ( int32 MemorySize )


Identifier of subtree instance

FirstNodeInstance

Index of first node instance (BehaviorTreeComponent.NodeInstances)

InstanceMemory

Persistent instance memory

Path

Execution index path from root

RootNode

Root node in template for cleanup purposes

TreeAsset

Behavior tree asset


bool operator== ( const [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode) * OtherTask ) const


FBehaviorTreeParallelTask ( const [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode) * InTaskNode, [EBTTaskStatus::Type](API\Runtime\AIModule\BehaviorTree\EBTTaskStatus__Type) InStatus )


Wrapper struct for holding a parallel task node and its status

Status

Additional mode data used for context switching

TaskNode

Worker object


FBehaviorTreePropertyMemory ( int32 Value )


Property block in blueprint defined nodes


Adds update info to PendingUpdates array, removing all previous updates for this node

void AddUniqueUpdate ( const [FBehaviorTreeSearchUpdate](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchUpdate) & UpdateInfo )


Assign unique Id number


Clear state of search


FBehaviorTreeSearchData ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & InOwnerComp )


Node search data

bFilterOutRequestFromDeactivatedBranch

If set, execution request from node in the deactivated branch will be skipped

bPostponeSearch

If set, current search will be restarted in next tick

bPreserveActiveNodeMemoryOnRollback

If set, active node state/memory won't be rolled back

bSearchInProgress

Set when task search is in progress

DeactivatedBranchEnd

End index of the deactivated branch

DeactivatedBranchStart

Start index of the deactivated branch

OwnerComp

BT component

PendingNotifies

Notifies for tree instances

PendingUpdates

Requested updates of additional nodes (preconditions, services, parallels) buffered during search to prevent instant add & remove pairs

RollbackDeactivatedBranchEnd

Saved end index of the deactivated branch for rollback

RollbackDeactivatedBranchStart

Saved start index of the deactivated branch for rollback

RollbackInstanceIdx

Active instance index to rollback to

SearchEnd

Last node allowed in search

SearchId

Search unique number

SearchRootNode

Node under which the search was performed

SearchStart

First node allowed in search


If set the action was unnecessary (Remove and was already inactive, Add and was already active)

FBehaviorTreeSearchUpdate ( const [UBTAuxiliaryNode](API\Runtime\AIModule\BehaviorTree\UBTAuxiliaryNode) * InAuxNode, uint16 InInstanceIndex, [EBTNodeUpdateMode::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeUpdateMode__Type) InMode )


FBehaviorTreeSearchUpdate ( const [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode) * InTaskNode, uint16 InInstanceIndex, [EBTNodeUpdateMode::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeUpdateMode__Type) InMode )


Node update data

bPostUpdate

If set, this entry will be applied AFTER other are processed


FBehaviorTreeSearchUpdateNotify ( uint16 InInstanceIndex, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) InNodeResult )


Instance notify data


Asset

Behavior tree asset

InstanceMemorySize

Size required for instance memory

Template

Initialized template


bool operator== ( const [FBlackboardEntry](API\Runtime\AIModule\BehaviorTree\FBlackboardEntry) & Other ) const


Blackboard entry definition

bInstanceSynced

If set to true then this field will be synchronized across all instances of this blackboard

KeyType

Key type and additional properties


void AddBoolFilter ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner, [FName](API\Runtime\Core\UObject\FName) PropertyName )


void AddClassFilter ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner, [FName](API\Runtime\Core\UObject\FName) PropertyName, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UObject](API\Runtime\CoreUObject\UObject\UObject) > AllowedClass )


void AddEnumFilter ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner, [FName](API\Runtime\Core\UObject\FName) PropertyName, [UEnum](API\Runtime\CoreUObject\UObject\UEnum) * AllowedEnum )


void AddFloatFilter ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner, [FName](API\Runtime\Core\UObject\FName) PropertyName )


void AddIntFilter ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner, [FName](API\Runtime\Core\UObject\FName) PropertyName )


void AddNameFilter ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner, [FName](API\Runtime\Core\UObject\FName) PropertyName )


void AddNativeEnumFilter ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner, [FName](API\Runtime\Core\UObject\FName) PropertyName, const [FString](API\Runtime\Core\Containers\FString) & AllowedEnumName )


Helper functions for setting basic filters

void AddObjectFilter ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner, [FName](API\Runtime\Core\UObject\FName) PropertyName, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UObject](API\Runtime\CoreUObject\UObject\UObject) > AllowedClass )


void AddStringFilter ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner, [FName](API\Runtime\Core\UObject\FName) PropertyName )


void AddRotatorFilter ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner, [FName](API\Runtime\Core\UObject\FName) PropertyName )


void AddVectorFilter ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner, [FName](API\Runtime\Core\UObject\FName) PropertyName )


Find initial selection. Called when None is not a valid option for this key selector

void InitSelection ( const [UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) & BlackboardAsset )


Find ID and class of selected key

void ResolveSelectedKey ( const [UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) & BlackboardAsset )


Helper struct for defining types of allowed blackboard entries (e.g. only entries holding points and objects derived form actor class)

AllowedTypes

Array of allowed types with additional properties (e.g. uobject's base class) EditAnywhere is required for FBlackboardSelectorDetails::CacheBlackboardData()

bNoneIsAllowedValue

Requires BlueprintReadWrite so that blueprint creators (using MakeBlackboardKeySelector) can specify whether or not None is Allowed.

SelectedKeyID

ID of selected key

SelectedKeyName

Name of selected key

SelectedKeyType

Class of selected key


ChildComposite

Child node

DecoratorOps

Logic operations for decorators

Decorators

Execution decorators


struct FBTAuxiliaryMemory : public [FBTInstancedNodeMemory](API\Runtime\AIModule\BehaviorTree\FBTInstancedNodeMemory)


CurrentChild

Index of currently active child node

OverrideChild

Child override for next selection


FBTDecoratorLogic ( uint8 InOperation, uint16 InNumber )


Checks if given object implements GenericEventName and/or AIEventName BP events, and returns an result as flags set on return integer
flags set in returned integer indicate kinds of events implemented by given object

namespace FBTNodeBPImplementationHelper { int32 FBTNodeBPImplementationHelper::CheckEventImplementationVersion ( [FName](API\Runtime\Core\UObject\FName) GenericEventName, [FName](API\Runtime\Core\UObject\FName) AIEventName, const [UObject](API\Runtime\CoreUObject\UObject\UObject) & Object, const [UClass](API\Runtime\CoreUObject\UObject\UClass) & StopAtClass ) }


namespace FBTNodeBPImplementationHelper { static FBTNodeBPImplementationHelper::AISpecific = 1 << 1; }


namespace FBTNodeBPImplementationHelper { static FBTNodeBPImplementationHelper::All = Generic | AISpecific; }


namespace FBTNodeBPImplementationHelper { static FBTNodeBPImplementationHelper::Generic = 1 << 0; }


namespace FBTNodeBPImplementationHelper { static FBTNodeBPImplementationHelper::NoImplementation = 0; }


bIsRestart

If set, request was not instigated by finishing task/initialization but is a restart (e.g. decorator)

bTryNextChild

If set, tree will try to execute next child of composite instead of forcing branch containing SearchStart

ContinueWithResult

Result used for resuming execution

ExecuteInstanceIdx

Subtree index

ExecuteNode

Node to be executed

SearchEnd

Index of last task allowed to be executed

SearchStart

Index of first task allowed to be executed


static constexpr uint16 InvalidIndex = TNumericLimits<uint16>::Max();


bool operator== ( const [FBTNodeIndex](API\Runtime\AIModule\BehaviorTree\FBTNodeIndex) & Other ) const


bool operator!= ( const [FBTNodeIndex](API\Runtime\AIModule\BehaviorTree\FBTNodeIndex) & Other ) const


bool TakesPriorityOver ( const [FBTNodeIndex](API\Runtime\AIModule\BehaviorTree\FBTNodeIndex) & Other ) const


FBTNodeIndex ( uint16 InInstanceIndex, uint16 InExecutionIndex )


ExecutionIndex

Execution index within instance

InstanceIndex

Index of instance of stack


bool Contains ( const [FBTNodeIndex](API\Runtime\AIModule\BehaviorTree\FBTNodeIndex) & Index ) const


bool operator== ( const [FBTNodeIndexRange](API\Runtime\AIModule\BehaviorTree\FBTNodeIndexRange) & Other ) const


bool operator!= ( const [FBTNodeIndexRange](API\Runtime\AIModule\BehaviorTree\FBTNodeIndexRange) & Other ) const


FBTNodeIndexRange ( const [FBTNodeIndex](API\Runtime\AIModule\BehaviorTree\FBTNodeIndex) & From, const [FBTNodeIndex](API\Runtime\AIModule\BehaviorTree\FBTNodeIndex) & To )


FromIndex

First node index

ToIndex

Last node index


bLocked

If set, request can't be executed

bOutOfNodes

If set, tree ran out of nodes

NextTask

Next task to execute


struct FBTTaskMemory : public [FBTInstancedNodeMemory](API\Runtime\AIModule\BehaviorTree\FBTInstancedNodeMemory)


FScopedBTLoggingContext ( const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * Context )


Delegate to be called by class implementingIBlackboardAssetProviderwhen the property containing the returned BlackboardData is changed (i.e. on PostEditChangeProperty).

typedef TMulticastDelegate_TwoParams< void, [UObject](API\Runtime\CoreUObject\UObject\UObject) *, [UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) * > FBlackboardOwnerChanged


Helper struct to push a node as the new logging context and automatically reset the context on destruction.


Returns BlackboardData referenced by the owner object.

virtual UBlackboardData &42; GetBlackboardAsset&40;&41; const


RequestID

Query request ID


Get name of selected blackboard key


UBTService_BlackboardBase ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


class UBTService_BlackboardBase : public [UBTService](API\Runtime\AIModule\BehaviorTree\UBTService)

BlackboardKey

Blackboard key selector


Gets the description for our service.

virtual [FString](API\Runtime\Core\Containers\FString) GetStaticServiceDescription() const


Gathers description of all runtime parameters

virtual void DescribeRuntimeValues ( const [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, [EBTDescriptionVerbosity::Type](API\Runtime\AIModule\BehaviorTree\EBTDescriptionVerbosity__Type) Verbosity, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & Values ) const


Initialize any asset related data

virtual void InitializeFromAsset ( [UBehaviorTree](API\Runtime\AIModule\BehaviorTree\UBehaviorTree) & Asset )


Initialize any asset related data


Check if service is currently being active


Called when auxiliary node becomes active this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyBecomeRelevant must be set to true for this function to be called Calling INIT_AUXILIARY_NODE_NOTIFY_FLAGS in the constructor of the node will set this flag automatically

virtual void OnBecomeRelevant ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


Called when auxiliary node becomes inactive this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyCeaseRelevant must be set to true for this function to be called Calling INIT_AUXILIARY_NODE_NOTIFY_FLAGS in the constructor of the node will set this flag automatically

virtual void OnCeaseRelevant ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


Called when node instance is removed from tree

virtual void OnInstanceDestroyed ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp )


Called when search enters underlying branch this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyOnSearch must be set to true for this function to be called Calling INIT_SERVICE_NODE_NOTIFY_FLAGS in the constructor of the service will set this flag automatically

virtual void OnSearchStart ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData )


Service became active  that if both generic and AI event versions are implemented only the more suitable one will be called, meaning the AI version if called for AI, generic one otherwise

void ReceiveActivation ( [AActor](API\Runtime\Engine\GameFramework\AActor) * OwnerActor )


generic one otherwise

void ReceiveActivationAI ( [AAIController](API\Runtime\AIModule\AAIController) * OwnerController, [APawn](API\Runtime\Engine\GameFramework\APawn) * ControlledPawn )


Service became inactive  that if both generic and AI event versions are implemented only the more suitable one will be called, meaning the AI version if called for AI, generic one otherwise

void ReceiveDeactivation ( [AActor](API\Runtime\Engine\GameFramework\AActor) * OwnerActor )


generic one otherwise

void ReceiveDeactivationAI ( [AAIController](API\Runtime\AIModule\AAIController) * OwnerController, [APawn](API\Runtime\Engine\GameFramework\APawn) * ControlledPawn )


Task search enters branch of tree  that if both generic and AI event versions are implemented only the more suitable one will be called, meaning the AI version if called for AI, generic one otherwise

void ReceiveSearchStart ( [AActor](API\Runtime\Engine\GameFramework\AActor) * OwnerActor )


generic one otherwise

void ReceiveSearchStartAI ( [AAIController](API\Runtime\AIModule\AAIController) * OwnerController, [APawn](API\Runtime\Engine\GameFramework\APawn) * ControlledPawn )


Tick function  that if both generic and AI event versions are implemented only the more suitable one will be called, meaning the AI version if called for AI, generic one otherwise

void ReceiveTick ( [AActor](API\Runtime\Engine\GameFramework\AActor) * OwnerActor, float DeltaSeconds )


generic one otherwise

void ReceiveTickAI ( [AAIController](API\Runtime\AIModule\AAIController) * OwnerController, [APawn](API\Runtime\Engine\GameFramework\APawn) * ControlledPawn, float DeltaSeconds )


Gets called only for instanced nodes(bCreateNodeInstance == true). In practive overridden by BP-implemented BT nodes

virtual void SetOwner ( [AActor](API\Runtime\Engine\GameFramework\AActor) * ActorOwner )


Update next tick interval this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyTick must be set to true for this function to be called Calling INIT_SERVICE_NODE_NOTIFY_FLAGS in the constructor of the service will set this flag automatically

virtual void TickNode ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, float DeltaSeconds )


Get whether this node is using a blueprint for its logic


UBTService_BlueprintBase ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


When service receives Deactivation event, all latent actions associated this instance are being removed. This prevents from resuming activity started by Activation, but does not handle external events. Please use them safely (unregister at abort) and callIsServiceActive()when in doubt.

class UBTService_BlueprintBase : public [UBTService](API\Runtime\AIModule\BehaviorTree\UBTService)

ActorOwner

Cached actor owner of BehaviorTreeComponent.

AIOwner

Cached AIController owner of BehaviorTreeComponent.

bShowEventDetails

Show detailed information about implemented events

bShowPropertyDetails

Show detailed information about properties

PropertyData

Properties with runtime values, stored only in class default object

ReceiveActivationImplementations

Set if ReceiveActivation is implemented by blueprint

ReceiveDeactivationImplementations

Set if ReceiveDeactivation is implemented by blueprint

ReceiveSearchStartImplementations

Set if ReceiveSearchStart is implemented by blueprint

ReceiveTickImplementations

Set if ReceiveTick is implemented by blueprint


Size of instance memory

virtual uint16 GetInstanceMemorySize() const


Get the name of the icon used to display this node in the editor

virtual [FName](API\Runtime\Core\UObject\FName) GetNodeIconName() const


string containing description of this node with all setup values

virtual [FString](API\Runtime\Core\Containers\FString) GetStaticDescription() const


Called when auxiliary node becomes active this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyBecomeRelevant must be set to true for this function to be called Calling INIT_AUXILIARY_NODE_NOTIFY_FLAGS in the constructor of the node will set this flag automatically

virtual void OnBecomeRelevant ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


EBlackboardNotificationResult OnBlackboardKeyValueChange ( const [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) & Blackboard, [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) ChangedKeyID )


Called when auxiliary node becomes inactive this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyCeaseRelevant must be set to true for this function to be called Calling INIT_AUXILIARY_NODE_NOTIFY_FLAGS in the constructor of the node will set this flag automatically

virtual void OnCeaseRelevant ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


UBTService_DefaultFocus ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Default Focus service node. A service node that automatically sets the AI controller's focus when it becomes active.

class UBTService_DefaultFocus : public [UBTService_BlackboardBase](API\Runtime\AIModule\BehaviorTree\Services\UBTService_BlackboardBase)

FocusPriority

Not exposed to users on purpose. Here to make reusing focus-setting mechanics by derived classes possible


We need this only for verification, no need to have it in shipped builds

virtual void CleanupMemory ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, [EBTMemoryClear::Type](API\Runtime\AIModule\BehaviorTree\EBTMemoryClear__Type) CleanupType ) const


Size of instance memory


Initialize any asset related data

virtual void InitializeFromAsset ( [UBehaviorTree](API\Runtime\AIModule\BehaviorTree\UBehaviorTree) & Asset )


Initialize memory block

virtual void InitializeMemory ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, [EBTMemoryInit::Type](API\Runtime\AIModule\BehaviorTree\EBTMemoryInit__Type) InitType ) const


void OnQueryFinished ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FEnvQueryResult](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryResult) > Result )


Prepare query params

virtual void PostEditChangeProperty ( struct [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


Update next tick interval this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyTick must be set to true for this function to be called Calling INIT_SERVICE_NODE_NOTIFY_FLAGS in the constructor of the service will set this flag automatically


UBTService_RunEQS ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


class UBTService_RunEQS : public [UBTService_BlackboardBase](API\Runtime\AIModule\BehaviorTree\Services\UBTService_BlackboardBase)


RequestID

Query request ID


MoveRequestID

Move request ID


Get name of selected blackboard key


Initialize any asset related data


UBTTask_BlackboardBase ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


class UBTTask_BlackboardBase : public [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode)

BlackboardKey

Blackboard key selector


Gathers description of all runtime parameters

virtual void DescribeRuntimeValues ( const [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, [EBTDescriptionVerbosity::Type](API\Runtime\AIModule\BehaviorTree\EBTDescriptionVerbosity__Type) Verbosity, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & Values ) const


Aborts this task, should return Aborted or InProgress (useFinishLatentAbort()when returning InProgress) this function should be considered as const (don't modify state of object) if node is not instanced!

virtual [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) AbortTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


Starts this task, should return Succeeded, Failed or InProgress (useFinishLatentTask()when returning InProgress) this function should be considered as const (don't modify state of object) if node is not instanced!

virtual [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) ExecuteTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


Finishes task execution with Success or Fail result


Aborts task execution


virtual [FString](API\Runtime\Core\Containers\FString) GetStaticDescription() const


Check if task is currently being executed


Check if task is currently being aborted


Called when node instance is removed from tree

virtual void OnInstanceDestroyed ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp )


Called when task execution is finished this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyTaskFinished must be set to true for this function to be called Calling INIT_TASK_NODE_NOTIFY_FLAGS in the constructor of the task will set this flag automatically

virtual void OnTaskFinished ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) TaskResult )


If blueprint graph contains this event, task will stay active until FinishAbort is called  that if both generic and AI event versions are implemented only the more suitable one will be called, meaning the AI version if called for AI, generic one otherwise

void ReceiveAbort ( [AActor](API\Runtime\Engine\GameFramework\AActor) * OwnerActor )


generic one otherwise

void ReceiveAbortAI ( [AAIController](API\Runtime\AIModule\AAIController) * OwnerController, [APawn](API\Runtime\Engine\GameFramework\APawn) * ControlledPawn )


Entry point, task will stay active until FinishExecute is called.  that if both generic and AI event versions are implemented only the more suitable one will be called, meaning the AI version if called for AI, generic one otherwise

void ReceiveExecute ( [AActor](API\Runtime\Engine\GameFramework\AActor) * OwnerActor )


generic one otherwise

void ReceiveExecuteAI ( [AAIController](API\Runtime\AIModule\AAIController) * OwnerController, [APawn](API\Runtime\Engine\GameFramework\APawn) * ControlledPawn )


Tick function  that if both generic and AI event versions are implemented only the more suitable one will be called, meaning the AI version if called for AI, generic one otherwise

void ReceiveTick ( [AActor](API\Runtime\Engine\GameFramework\AActor) * OwnerActor, float DeltaSeconds )


generic one otherwise

void ReceiveTickAI ( [AAIController](API\Runtime\AIModule\AAIController) * OwnerController, [APawn](API\Runtime\Engine\GameFramework\APawn) * ControlledPawn, float DeltaSeconds )


Task execution will be finished (with result 'Success') after receiving specified message with indicated ID

void SetFinishOnMessageWithId ( [FName](API\Runtime\Core\UObject\FName) MessageName, int32 RequestID )


Task execution will be finished (with result 'Success') after receiving specified message

void SetFinishOnMessage ( [FName](API\Runtime\Core\UObject\FName) MessageName )


Gets called only for instanced nodes(bCreateNodeInstance == true). In practive overridden by BP-implemented BT nodes

virtual void SetOwner ( [AActor](API\Runtime\Engine\GameFramework\AActor) * ActorOwner )


Ticks this task

virtual void TickTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, float DeltaSeconds )


Get whether this node is using a blueprint for its logic


UBTTask_BlueprintBase ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


When task receives Abort event, all latent actions associated this instance are being removed. This prevents from resuming activity started by Execute, but does not handle external events. Please use them safely (unregister at abort) and callIsTaskExecuting()when in doubt.

class UBTTask_BlueprintBase : public [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode)

ActorOwner

Cached actor owner of BehaviorTreeComponent.

AIOwner

Cached AIController owner of BehaviorTreeComponent.

bIsAborting

Set when task enters Aborting state

bShowPropertyDetails

Show detailed information about properties

bStoreFinishResult

If set, execution is inside blueprint's ReceiveExecute(Abort) event FinishExecute(Abort) function should store their result in CurrentCallResult variable

CurrentCallResult

Temporary variable for ReceiveExecute(Abort)-FinishExecute(Abort) chain

PropertyData

Properties that should be copied

ReceiveAbortImplementations

Set if ReceiveAbort is implemented by blueprint

ReceiveExecuteImplementations

Set if ReceiveExecute is implemented by blueprint

ReceiveTickImplementations

Set if ReceiveTick is implemented by blueprint

TickInterval

If any of the Tick functions is implemented, how often should they be ticked.


Starts this task, should return Succeeded, Failed or InProgress (useFinishLatentTask()when returning InProgress) this function should be considered as const (don't modify state of object) if node is not instanced!


string containing description of this node with all setup values


UBTTask_FinishWithResult ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Aborts this task, should return Aborted or InProgress (useFinishLatentAbort()when returning InProgress) this function should be considered as const (don't modify state of object) if node is not instanced!

virtual [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) AbortTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


Instantly finishes with given result

class UBTTask_FinishWithResult : public [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode)

Result

Allows adding random time to wait time


Get finish result from task

virtual [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) DetermineGameplayTaskResult ( [UAITask](API\Runtime\AIModule\Tasks\UAITask) & Task ) const


Size of instance memory

virtual uint16 GetInstanceMemorySize() const


Notify called after GameplayTask changes state from Active (finishing or pausing)

virtual void OnGameplayTaskDeactivated ( [UGameplayTask](API\Runtime\GameplayTasks\UGameplayTask) & Task )


Called when task execution is finished this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyTaskFinished must be set to true for this function to be called Calling INIT_TASK_NODE_NOTIFY_FLAGS in the constructor of the task will set this flag automatically

virtual void OnTaskFinished ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) TaskResult )


Start task and initializeFBTGameplayTaskMemorymemory block

[EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) StartGameplayTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, [UAITask](API\Runtime\AIModule\Tasks\UAITask) & Task )


UBTTask_GameplayTaskBase ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


In your ExecuteTask:

class UBTTask_GameplayTaskBase : public [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode)

bWaitForGameplayTask

If set, behavior tree task will wait until gameplay tasks finishes


virtual [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) ExecuteTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


Get the name of the icon used to display this node in the editor

virtual [FName](API\Runtime\Core\UObject\FName) GetNodeIconName() const


UBTTask_MakeNoise ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Make Noise task node. A task node that calls MakeNoise() on this Pawn when executed.

class UBTTask_MakeNoise : public [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode)

Loudnes

Loudnes of generated noise


Initialize any asset related data

virtual void InitializeFromAsset ( [UBehaviorTree](API\Runtime\AIModule\BehaviorTree\UBehaviorTree) & Asset )


Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.


UBTTask_MoveDirectlyToward ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Move Directly Toward task node. Moves the AI pawn toward the specified Actor or Location (Vector) blackboard entry in a straight line, without regard to any navigation system. If you need the AI to navigate, use the "Move To" node instead.

class UBTTask_MoveDirectlyToward : public [UBTTask_MoveTo](API\Runtime\AIModule\BehaviorTree\Tasks\UBTTask_MoveTo)


Gathers description of all runtime parameters

virtual void DescribeRuntimeValues ( const [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, [EBTDescriptionVerbosity::Type](API\Runtime\AIModule\BehaviorTree\EBTDescriptionVerbosity__Type) Verbosity, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & Values ) const


Size of instance memory


virtual [FString](API\Runtime\Core\Containers\FString) GetStaticDescription() const


Message handler, default implementation will finish latent execution/abortion this function should be considered as const (don't modify state of object) if node is not instanced!

virtual void OnMessage ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, [FName](API\Runtime\Core\UObject\FName) Message, int32 RequestID, bool bSuccess )


EBlackboardNotificationResult OnBlackboardValueChange ( const [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) & Blackboard, [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) ChangedKeyID )


Called after creating new node in behavior tree editor, use for versioning


virtual [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) PerformMoveTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


Prepares move task for activation

virtual [UAITask_MoveTo](API\Runtime\AIModule\Tasks\UAITask_MoveTo) * PrepareMoveTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, [UAITask_MoveTo](API\Runtime\AIModule\Tasks\UAITask_MoveTo) * ExistingTask, [FAIMoveRequest](API\Runtime\AIModule\FAIMoveRequest) & MoveRequest )


UBTTask_MoveTo ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Move To task node. Moves the AI pawn toward the specified Actor or Location blackboard entry using the navigation system.

class UBTTask_MoveTo : public [UBTTask_BlackboardBase](API\Runtime\AIModule\BehaviorTree\Tasks\UBTTask_BlackboardBase)

AcceptableRadius

Fixed distance added to threshold between AI and goal location in destination reach test

bAllowPartialPath

If set, use incomplete path when goal can't be reached

bObserveBlackboardValue

If move goal in BB changes the move will be redirected to new location

bProjectGoalLocation

If set, goal location will be projected on navigation data (navmesh) before using

bReachTestIncludesAgentRadius

If set, radius of AI's capsule will be added to threshold between AI and goal location in destination reach test

bReachTestIncludesGoalRadius

If set, radius of goal's capsule will be added to threshold between AI and goal location in destination reach test

bRequireNavigableEndLocation

If set, the goal location will need to be navigable

bStopOnOverlap

DEPRECATED, please use combination of bReachTestIncludes*Radius instead

bTrackMovingGoal

If set, path to goal actor will update itself when actor moves

bUsePathfinding

If set, move will use pathfinding. Not exposed on purpose, please use BTTask_MoveDirectlyToward

FilterClass

"None" will result in default filter being used

ObservedBlackboardValueTolerance

If task is expected to react to changes to location represented by BB key this property can be used to tweak sensitivity of the mechanism.


Aborts this task, should return Aborted or InProgress (useFinishLatentAbort()when returning InProgress) this function should be considered as const (don't modify state of object) if node is not instanced!

virtual [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) AbortTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


Helper functions, should be used when behavior tree task deals with pawn actions, but can't derive from this class

static EPawnActionTaskResult ActionEventHandler ( [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode) * TaskNode, [UDEPRECATED_PawnAction](API\Runtime\AIModule\Actions\UDEPRECATED_PawnAction) & Action, [EPawnActionEventType::Type](API\Runtime\AIModule\EPawnActionEventType__Type) Event )


Action observer, updates state of task

virtual void OnActionEvent ( [UDEPRECATED_PawnAction](API\Runtime\AIModule\Actions\UDEPRECATED_PawnAction) & Action, [EPawnActionEventType::Type](API\Runtime\AIModule\EPawnActionEventType__Type) Event )


Called when action is removed from stack (FinishedAborting) by some external event default behavior: finish task as failed

virtual void OnActionLost ( [UDEPRECATED_PawnAction](API\Runtime\AIModule\Actions\UDEPRECATED_PawnAction) & Action )


Starts executing pawn action

[EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) PushAction ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, [UDEPRECATED_PawnAction](API\Runtime\AIModule\Actions\UDEPRECATED_PawnAction) & Action )


UBTTask_PawnActionBase ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Notify called after GameplayTask changes state from Active (finishing or pausing)

virtual void OnGameplayTaskDeactivated ( [UGameplayTask](API\Runtime\GameplayTasks\UGameplayTask) & Task )


Please use result returned by PushAction for ExecuteTask function.

class UBTTask_PawnActionBase : public [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode)


void CleanUp ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp )


Starts this task, should return Succeeded, Failed or InProgress (useFinishLatentTask()when returning InProgress) this function should be considered as const (don't modify state of object) if node is not instanced!

virtual [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) ExecuteTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


Get the name of the icon used to display this node in the editor

virtual [FName](API\Runtime\Core\UObject\FName) GetNodeIconName() const


string containing description of this node with all setup values

virtual [FString](API\Runtime\Core\Containers\FString) GetStaticDescription() const


UBTTask_PlayAnimation ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Play indicated AnimationAsset on Pawn controlled by BT Note that this node is generic and is handing multiple special cases, If you want a more efficient solution you'll need to implement it yourself (or wait for our BTTask_PlayCharacterAnimation)

class UBTTask_PlayAnimation : public [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode)

AnimationToPlay

Animation asset to play. Note that it needs to match the skeleton of pawn this BT is controlling

bNonBlocking

If true the task will just trigger the animation and instantly finish. Fire and Forget.


UBTTask_PlaySound ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Play Sound task node. Plays the specified sound when executed.

class UBTTask_PlaySound : public [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode)

SoundToPlay

CUE to play


UBTTask_PushPawnAction ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Action task node. Push pawn action to controller.

class UBTTask_PushPawnAction : public [UBTTask_PawnActionBase](API\Runtime\AIModule\BehaviorTree\Tasks\UBTTask_PawnActionBase)


virtual [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) AbortTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


void CleanUp ( [AAIController](API\Runtime\AIModule\AAIController) & AIController, uint8 * NodeMemory )


Gathers description of all runtime parameters

virtual void DescribeRuntimeValues ( const [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, [EBTDescriptionVerbosity::Type](API\Runtime\AIModule\BehaviorTree\EBTDescriptionVerbosity__Type) Verbosity, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & Values ) const


Size of instance memory

virtual uint16 GetInstanceMemorySize() const


Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.


Ticks this task this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyTick must be set to true for this function to be called Calling INIT_TASK_NODE_NOTIFY_FLAGS in the constructor of the task will set this flag automatically

virtual void TickTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, float DeltaSeconds )


UBTTask_RotateToFaceBBEntry ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


number of injected nodes


class UBTTask_RotateToFaceBBEntry : public [UBTTask_BlackboardBase](API\Runtime\AIModule\BehaviorTree\Tasks\UBTTask_BlackboardBase)

Precision

Success condition precision in degrees


subtree asset

[UBehaviorTree](API\Runtime\AIModule\BehaviorTree\UBehaviorTree) * GetSubtreeAsset() const


Called when subtree is removed from active stack

virtual void OnSubtreeDeactivated ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) NodeResult )


UBTTask_RunBehavior ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.


Use RunBehaviorDynamic task for subtrees that need to be changed in runtime.

class UBTTask_RunBehavior : public [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode)

BehaviorAsset

Behavior to run


virtual [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) ExecuteTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


default subtree asset

[UBehaviorTree](API\Runtime\AIModule\BehaviorTree\UBehaviorTree) * GetDefaultBehaviorAsset() const


const [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) & GetInjectionTag() const


virtual [FName](API\Runtime\Core\UObject\FName) GetNodeIconName() const


virtual [FString](API\Runtime\Core\Containers\FString) GetStaticDescription() const


bool HasMatchingTag ( const [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) & Tag ) const


Called when node instance is added to tree

virtual void OnInstanceCreated ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp )


bool SetBehaviorAsset ( [UBehaviorTree](API\Runtime\AIModule\BehaviorTree\UBehaviorTree) * NewBehaviorAsset )


UBTTask_RunBehaviorDynamic ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Aborts this task, should return Aborted or InProgress (useFinishLatentAbort()when returning InProgress) this function should be considered as const (don't modify state of object) if node is not instanced!

virtual [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) AbortTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


Does NOT support subtree's root level decorators!

class UBTTask_RunBehaviorDynamic : public [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode)

Current subtree

DefaultBehaviorAsset

Default behavior to run

InjectionTag

Gameplay tag that will identify this task for subtree injection


Gather all filters from existing EnvQueryItemTypes


virtual void DescribeRuntimeValues ( const [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, [EBTDescriptionVerbosity::Type](API\Runtime\AIModule\BehaviorTree\EBTDescriptionVerbosity__Type) Verbosity, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & Values ) const


Size of instance memory

virtual uint16 GetInstanceMemorySize() const


Starts this task, should return Succeeded, Failed or InProgress (useFinishLatentTask()when returning InProgress) this function should be considered as const (don't modify state of object) if node is not instanced!


Get the name of the icon used to display this node in the editor


string containing description of this node with all setup values


Initialize any asset related data

virtual void InitializeFromAsset ( [UBehaviorTree](API\Runtime\AIModule\BehaviorTree\UBehaviorTree) & Asset )


Finish task

void OnQueryFinished ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FEnvQueryResult](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryResult) > Result )


Prepare query params

virtual void PostEditChangeProperty ( struct [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


Convert QueryParams to QueryConfig


Run Environment Query System Query task node. Runs the specified environment query when executed.

class UBTTask_RunEQSQuery : public [UBTTask_BlackboardBase](API\Runtime\AIModule\BehaviorTree\Tasks\UBTTask_BlackboardBase)

EQSQueryBlackboardKey

Blackboard key storing an EQS query template

QueryParams

Optional parameters for query

QueryTemplate

Query to run

RunMode

Determines which item will be stored (All = only first matching)


UBTTask_RunEQSQuery ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


virtual [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) ExecuteTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


UBTTask_SetTagCooldown ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Cooldown task node. Sets a cooldown tag value. Use with cooldown tag decorators to prevent behavior tree execution.

class UBTTask_SetTagCooldown : public [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode)

bAddToExistingDuration

True if we are adding to any existing duration, false if we are setting the duration (potentially invalidating an existing end time).

CooldownDuration

Value we will add or set to the Cooldown tag when this task runs.

CooldownTag

Gameplay tag that will be used for the cooldown.


Gathers description of all runtime parameters


virtual [FName](API\Runtime\Core\UObject\FName) GetNodeIconName() const


virtual [FString](API\Runtime\Core\Containers\FString) GetStaticDescription() const


Ticks this task this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyTick must be set to true for this function to be called Calling INIT_TASK_NODE_NOTIFY_FLAGS in the constructor of the task will set this flag automatically

virtual void TickTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, float DeltaSeconds )


Wait task node. Wait for the specified time when executed.

class UBTTask_Wait : public [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode)

RandomDeviation

Allows adding random time to wait time

WaitTime

Wait time in seconds


UBTTask_Wait ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Initialize any asset related data


UBTTask_WaitBlackboardTime ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Wait task node. Wait for the time specified by a Blackboard key when executed.

class UBTTask_WaitBlackboardTime : public [UBTTask_Wait](API\Runtime\AIModule\BehaviorTree\Tasks\UBTTask_Wait)

BlackboardKey

Blackboard key selector


namespace TIsValidVariadicFunctionArg< FBlackboard { template<> struct TIsValidVariadicFunctionArg< FBlackboard::FKey > }


BEGINIBlackboardAssetProvider.
blackboard asset

virtual [UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) * GetBlackboardAsset() const


UBehaviorTree ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Get name of selected blackboard key


class UBehaviorTree : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [IBlackboardAssetProvider](API\Runtime\AIModule\BehaviorTree\IBlackboardAssetProvider)

BlackboardAsset

Blackboard asset for this tree

BTGraph

Graph for Behavior Tree

InstanceMemorySize

Memory size required for instance of this tree

LastEditedDocuments

Info about the graphs we last edited

RootDecoratorOps

Logic operators for root level decorators, used by subtrees

RootDecorators

Root level decorators, used by subtrees

RootNode

Root node of loaded tree


Abort currently executed task


Activate a branch as the decorator conditions are now passing

void ActivateBranch ( const [UBTDecorator](API\Runtime\AIModule\BehaviorTree\UBTDecorator) & RequestedBy, bool bRequestEvenIfNotExecuting )


Set when at least one debugger window is opened


Add to the cooldown tag's duration

void AddCooldownTagDuration ( [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) CooldownTag, float CooldownDuration, bool bAddToExistingDuration )


Apply pending node updates required for discarded search


Apply pending node updates from SearchData

void ApplySearchData ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NewActiveNode )


Apply updates from specific list

void ApplySearchUpdates ( const [TArray](API\Runtime\Core\Containers\TArray)< [FBehaviorTreeSearchUpdate](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchUpdate) > & UpdateList, int32 NewNodeExecutionIndex, bool bPostUpdate )


Code for timing BT Search for FramePro.

static bool bAddedEndFrameCallback = false;


Return NodeA's relative priority in regards to NodeB

EBTNodeRelativePriority CalculateRelativePriority ( const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeA, const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeB ) const


AI logic won't be needed anymore, stop all activity and run cleanup


Copy memory block from running instances to persistent memory


Copy memory block from persistent memory to running instances (rollback)


Deactivate a branch as the decorator conditions are not passing anymore

void DeactivateBranch ( const [UBTDecorator](API\Runtime\AIModule\BehaviorTree\UBTDecorator) & RequestedBy )


Deactivate all nodes up to requested one

bool DeactivateUpTo ( const [UBTCompositeNode](API\Runtime\AIModule\BehaviorTree\UBTCompositeNode) * Node, uint16 NodeInstanceIdx, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) & NodeResult, int32 & OutLastDeactivatedChildIndex )


virtual [FString](API\Runtime\Core\Containers\FString) DescribeActiveTasks() const


virtual [FString](API\Runtime\Core\Containers\FString) DescribeActiveTrees() const


virtual void DescribeSelfToVisLog ( struct [FVisualLogEntry](API\Runtime\Engine\VisualLogger\FVisualLogEntry) * Snapshot ) const


Code for timing BT Search for FramePro.


Evaluate a branch as the decorator conditions have changed

void EvaluateBranch ( const [UBTDecorator](API\Runtime\AIModule\BehaviorTree\UBTDecorator) & RequestedBy )


Evaluate a branch as current active node is finished

void EvaluateBranch ( [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) LastResult )


Execute new task

void ExecuteTask ( [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode) * TaskNode )


FBranchActionInfo &40; const EBTBranchAction InAction &41;


FBranchActionInfo &40; const UBTNode &42; InNode, const EBTBranchAction InAction &41;


FBranchActionInfo &40; const UBTNode &42; InNode, EBTNodeResult::Type InContinueWithResult, const EBTBranchAction InAction &41;


FBTSuspendBranchActionsScoped &40; UBehaviorTreeComponent & InBTComp, EBTBranchAction BranchActions &41;


Tries to find behavior tree instance in context

int32 FindInstanceContainingNode ( const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * Node ) const


Tries to find template node for given instanced node

[UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * FindTemplateNode ( const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * Node ) const


Get index of active instance on stack


active node

const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * GetActiveNode() const


current tree

[UBehaviorTree](API\Runtime\AIModule\BehaviorTree\UBehaviorTree) * GetCurrentTree() const


virtual [FString](API\Runtime\Core\Containers\FString) GetDebugInfoString() const


node memory

uint8 * GetNodeMemory ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * Node, int32 InstanceIdx ) const


tree from top of instance stack

[UBehaviorTree](API\Runtime\AIModule\BehaviorTree\UBehaviorTree) * GetRootTree() const


the cooldown tag end time, 0.0f if CooldownTag is not found

double GetTagCooldownEndTime ( [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) CooldownTag ) const


status of speficied task

[EBTTaskStatus::Type](API\Runtime\AIModule\BehaviorTree\EBTTaskStatus__Type) GetTaskStatus ( const [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode) * TaskNode ) const


virtual void HandleMessage ( const [FAIMessage](API\Runtime\AIModule\FAIMessage) & Message )


true if waiting for abort to finish


Return true if the current or any parallel task has a latent abort in progress


true if aux node is currently active

bool IsAuxNodeActive ( const [UBTAuxiliaryNode](API\Runtime\AIModule\BehaviorTree\UBTAuxiliaryNode) * AuxNode ) const


true if aux node is currently active

bool IsAuxNodeActive ( const [UBTAuxiliaryNode](API\Runtime\AIModule\BehaviorTree\UBTAuxiliaryNode) * AuxNodeTemplate, int32 InstanceIdx ) const


Check if debugger is currently running and can gather data


true if active node is one of child nodes of given one

bool IsExecutingBranch ( const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * Node, int32 ChildIndex ) const


Returns true if InstanceStack contains any BT runtime instances


true if ExecutionRequest is switching to higher priority node


Finish latent execution or abort

void OnTaskFinished ( const [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode) * TaskNode, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) TaskResult )


Called when tree runs out of nodes to execute


Pause logic and blackboard updates.

virtual void PauseLogic ( const [FString](API\Runtime\Core\Containers\FString) & Reason )


Apply pending execution from last task search


Process execution flow


Apply pending tree initialization


Push behavior tree instance on execution stack : should never be called out-side of BT execution, meaning only BT tasks can push another BT instance!

bool PushInstance ( [UBehaviorTree](API\Runtime\AIModule\BehaviorTree\UBehaviorTree) & TreeAsset )


Setup message observer for given task

void RegisterMessageObserver ( const [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode) * TaskNode, [FName](API\Runtime\Core\UObject\FName) MessageType )


Virtual call chain to register all tick functions

virtual void RegisterComponentTickFunctions ( bool bRegister )


Setup message observer for given task

void RegisterMessageObserver ( const [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode) * TaskNode, [FName](API\Runtime\Core\UObject\FName) MessageType, [FAIRequestID](API\Runtime\AIModule\FAIRequestID) MessageID )


Remove instanced nodes, known subtree instances and safely clears their persistent memory


Add active parallel task

void RegisterParallelTask ( const [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode) * TaskNode )


Request branch activation: helper for decorator

void RequestBranchActivation ( const [UBTDecorator](API\Runtime\AIModule\BehaviorTree\UBTDecorator) & RequestedBy, const bool bRequestEvenIfExecuting )


Request branch deactivation: helper for decorator

void RequestBranchDeactivation ( const [UBTDecorator](API\Runtime\AIModule\BehaviorTree\UBTDecorator) & RequestedBy )


Request branch evaluation: helper for active node (ex: tasks)

void RequestBranchEvaluation ( [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) ContinueWithResult )


Request branch evaluation: helper for decorator

void RequestBranchEvaluation ( const [UBTDecorator](API\Runtime\AIModule\BehaviorTree\UBTDecorator) & RequestedBy )


Replaced by the RequestBranchEvaluation from decorator

void RequestExecution ( const [UBTDecorator](API\Runtime\AIModule\BehaviorTree\UBTDecorator) * RequestedBy )


Replaced by RequestBranchEvaluation with EBTNodeResult

void RequestExecution ( [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) ContinueWithResult )


Request execution change

void RequestExecution ( const [UBTCompositeNode](API\Runtime\AIModule\BehaviorTree\UBTCompositeNode) * RequestedOn, const int32 InstanceIdx, const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * RequestedBy, const int32 RequestedByChildIndex, const [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) ContinueWithResult, bool bStoreForDebugger )


Request unregistration of aux nodes in the specified branch

void RequestUnregisterAuxNodesInBranch ( const [UBTCompositeNode](API\Runtime\AIModule\BehaviorTree\UBTCompositeNode) * Node )


Restarts currently running or previously ran brain logic.


Restarts execution from root

void RestartTree ( EBTRestartMode RestartMode )


Resume branch actions and execute all the queued up ones


Resumes paused brain logic. MUST be called by child implementations!
indicates whether child class' ResumeLogic should be called (true) or has it been handled in a different way and no other actions are required (false)

virtual [EAILogicResuming::Type](API\Runtime\AIModule\EAILogicResuming__Type) ResumeLogic ( const [FString](API\Runtime\Core\Containers\FString) & Reason )


Deprecated* This function is deprecated. Please use ResumeBranchActions instead.


Restore state of tree to state before search


Schedule execution flow update in next tick


ENDUActorComponentoverrides Schedule when will be the next tick, 0.0f means next frame, FLT_MAX means never

void ScheduleNextTick ( float NextDeltaTime )


Set this component's tick functions to be enabled or disabled. Only has an effect if the function is registered

virtual void SetComponentTickEnabled ( bool bEnabled )


Assign subtree to RunBehaviorDynamic task specified by tag

virtual void SetDynamicSubtree ( [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) InjectTag, [UBehaviorTree](API\Runtime\AIModule\BehaviorTree\UBehaviorTree) * BehaviorAsset )


Starts brain logic. If brain is already running, will not do anything.


Starts execution from root

void StartTree ( [UBehaviorTree](API\Runtime\AIModule\BehaviorTree\UBehaviorTree) & Asset, [EBTExecutionMode::Type](API\Runtime\AIModule\BehaviorTree\EBTExecutionMode__Type) ExecuteMode )


Stops currently running brain logic.

virtual void StopLogic ( const [FString](API\Runtime\Core\Containers\FString) & Reason )


Stops execution

void StopTree ( [EBTStopMode::Type](API\Runtime\AIModule\BehaviorTree\EBTStopMode__Type) StopMode )


Describe blackboard's key values

void StoreDebuggerBlackboard ( [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), [FString](API\Runtime\Core\Containers\FString) > & BlackboardValueDesc ) const


Make a snapshot for debugger

void StoreDebuggerExecutionStep ( [EBTExecutionSnap::Type](API\Runtime\AIModule\BehaviorTree\EBTExecutionSnap__Type) SnapType )


Make a snapshot for debugger from given subtree instance

void StoreDebuggerInstance ( [FBehaviorTreeDebuggerInstance](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeDebuggerInstance) & InstanceInfo, uint16 InstanceIdx, [EBTExecutionSnap::Type](API\Runtime\AIModule\BehaviorTree\EBTExecutionSnap__Type) SnapType ) const


void StoreDebuggerRemovedInstance ( uint16 InstanceIdx ) const


Store restarting node for debugger

void StoreDebuggerRestart ( const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * Node, uint16 InstanceIdx, bool bAllowed )


Gather nodes runtime descriptions

void StoreDebuggerRuntimeValues ( [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & RuntimeDescriptions, [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * RootNode, uint16 InstanceIdx ) const


Store search step for debugger

void StoreDebuggerSearchStep ( const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * Node, uint16 InstanceIdx, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) NodeResult ) const


Store search step for debugger

void StoreDebuggerSearchStep ( const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * Node, uint16 InstanceIdx, bool bPassed ) const


Suspend any branch actions and queue them to be processed later byResumeBranchActions()

void SuspendBranchActions ( EBTBranchAction BranchActions )


Deprecated* This function is deprecated. Please use SuspendBranchActions instead.


BEGINUActorComponentoverrides

virtual void TickComponent ( float DeltaTime, enum ELevelTick TickType, [FActorComponentTickFunction](API\Runtime\Engine\Engine\FActorComponentTickFunction) * ThisTickFunction )


Tracks if there are new tasks using latent abort in progress


Returns true if execution was waiting on latent aborts and they are all finished;


Handle this component being Uninitialized. Called fromAActor::EndPlayonly if bHasBeenInitialized is true


Indicates instance has been initialized to work with specific BT asset


Unregister all aux nodes between given execution index range: FromIndex < AuxIndex < ToIndex

void UnregisterAuxNodesInRange ( const [FBTNodeIndex](API\Runtime\AIModule\BehaviorTree\FBTNodeIndex) & FromIndex, const [FBTNodeIndex](API\Runtime\AIModule\BehaviorTree\FBTNodeIndex) & ToIndex )


Unregister all aux nodes less important than given index

void UnregisterAuxNodesUpTo ( const [FBTNodeIndex](API\Runtime\AIModule\BehaviorTree\FBTNodeIndex) & Index )


Remove message observers registered with task

void UnregisterMessageObserversFrom ( const [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode) * TaskNode )


void UnregisterMessageObserversFrom ( const [FBTNodeIndex](API\Runtime\AIModule\BehaviorTree\FBTNodeIndex) & TaskIdx )


Remove parallel task

void UnregisterParallelTask ( const [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode) * TaskNode, uint16 InstanceIdx )


Update runtime description of given task node in latest debugger's snapshot

void UpdateDebuggerAfterExecution ( const [UBTTaskNode](API\Runtime\AIModule\BehaviorTree\UBTTaskNode) * TaskNode, uint16 InstanceIdx ) const


Add unique Id of newly created subtree to KnownInstances list and return its index

uint8 UpdateInstanceId ( [UBehaviorTree](API\Runtime\AIModule\BehaviorTree\UBehaviorTree) * TreeAsset, const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * OriginNode, int32 OriginInstanceIdx )


UBehaviorTreeComponent ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


DO NOT USE. This constructor is for internal usage only for hot-reload purposes.

UBehaviorTreeComponent ( [FVTableHelper](API\Runtime\CoreUObject\UObject\FVTableHelper) & Helper )


class UBehaviorTreeComponent : public [UBrainComponent](API\Runtime\AIModule\UBrainComponent)

AccumulatedTickDeltaTime

Accumulated DeltaTime if ticked more than predicted next delta time

ActiveInstanceIdx

Index of last active instance on stack

bIsPaused

If set, execution requests will be postponed

bIsRunning

If set, tree execution is allowed

bLoopExecution

Loops tree execution

bRequestedFlowUpdate

Set when execution update is scheduled for next tick

bRequestedStop

Set when tree stop was called

bTickedOnce

Used to tell tickmanager that we want interval ticking

bWaitingForLatentAborts

Set when execution is waiting for tasks to finish their latent abort (current or parallel's main)

CooldownTagsMap

Behavior cooldowns mapped by tag to last time it was set

CurrentSearchFlow

Search flow for debugger

DebuggerSteps

Debugger's recorded data

DefaultBehaviorTreeAsset

Data asset defining the tree

ExecutionRequest

Execution request, search will be performed when current task finish execution/aborting

InstanceStack

Stack of behavior tree instances

KnownInstances

List of known subtree instances

LastRequestedDeltaTimeGameTime

GameTime of the last DeltaTime request, used for debugging to output warnings about ticking

NextTickDeltaTime

Predicted next DeltaTime

NodeInstances

Instanced nodes

PendingBranchActionRequests

List of all pending branch action requests

PendingExecution

Result of ExecutionRequest, will be applied when current task finish aborting

SearchData

Search data being currently used

SuspendedBranchActions

Type of suspended branch action

TaskMessageObservers

Message observers mapped by instance & execution index

TreeStartInfo

Stored data for starting new tree, waits until previously running finishes aborting


Register new behavior tree component for tracking

void AddActiveComponent ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & Component )


Unregister all aux nodes in branch of tree

void UnregisterAuxNodesInBranch ( const [UBTCompositeNode](API\Runtime\AIModule\BehaviorTree\UBTCompositeNode) * Node, bool bApplyImmediately )


Cleanup hooks for map loading


Get aligned memory size

static uint16 GetAlignedDataSize ( uint16 Size )


static [UBehaviorTreeManager](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeManager) * GetCurrent ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject )


Helper function for sorting and aligning node memory

static void InitializeMemoryHelper ( const [TArray](API\Runtime\Core\Containers\TArray)< [UBTDecorator](API\Runtime\AIModule\BehaviorTree\UBTDecorator) * > & Nodes, [TArray](API\Runtime\Core\Containers\TArray)< uint16 > & MemoryOffsets, int32 & MemorySize, bool bForceInstancing )


Get behavior tree template for given blueprint

bool LoadTree ( [UBehaviorTree](API\Runtime\AIModule\BehaviorTree\UBehaviorTree) & Asset, [UBTCompositeNode](API\Runtime\AIModule\BehaviorTree\UBTCompositeNode) *& Root, uint16 & InstanceMemorySize )


static [UBehaviorTreeManager](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeManager) * GetCurrent ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World )


UBehaviorTreeManager ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Unregister behavior tree component from tracking

void RemoveActiveComponent ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & Component )


class UBehaviorTreeManager : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

LoadedTemplates

Initialized tree templates

MaxDebuggerSteps

Limit for recording execution steps for debugger


static [FString](API\Runtime\Core\Containers\FString) DescribeActiveNode ( [EBTActiveNode::Type](API\Runtime\AIModule\BehaviorTree\EBTActiveNode__Type) ActiveNodeType )


static [FString](API\Runtime\Core\Containers\FString) DescribeFlowAbortMode ( [EBTFlowAbortMode::Type](API\Runtime\AIModule\BehaviorTree\EBTFlowAbortMode__Type) FlowAbortMode )


static [FString](API\Runtime\Core\Containers\FString) DescribeNodeHelper ( const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * Node )


static [FString](API\Runtime\Core\Containers\FString) DescribeNodeResult ( [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) NodeResult )


static [FString](API\Runtime\Core\Containers\FString) DescribeNodeUpdateMode ( [EBTNodeUpdateMode::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeUpdateMode__Type) UpdateMode )


static [FString](API\Runtime\Core\Containers\FString) DescribeTaskStatus ( [EBTTaskStatus::Type](API\Runtime\AIModule\BehaviorTree\EBTTaskStatus__Type) TaskStatus )


Returns short name of object's class (BTTaskNode_Wait -> Wait)

static [FString](API\Runtime\Core\Containers\FString) GetShortTypeName ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Ob )


static void SetBTLoggingContext ( const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NewBTLoggingContext )


class UBehaviorTreeTypes : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


UBlackboardAssetProvider ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Helper interface to allowFBlackboardKeySelectorproperties on DataAssets (and more). Used by FBlackboardSelectorDetails to access the related Blackboard based onUObjecthierarchy. The asset containing the Blackboard should broadcast OnBlackboardOwnerChanged when ever the asset ptr changes.

class UBlackboardAssetProvider : public [UInterface](API\Runtime\CoreUObject\UObject\UInterface)


CachesUBrainComponentpointer to be used in communication

void CacheBrainComponent ( [UBrainComponent](API\Runtime\AIModule\UBrainComponent) & BrainComponent )


void ClearValue ( const [FName](API\Runtime\Core\UObject\FName) & KeyName )


void ClearValue ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID )


Compares blackboard's values under specified keys

[EBlackboardCompare::Type](API\Runtime\AIModule\BehaviorTree\Blackboard\EBlackboardCompare__Type) CompareKeyValues ( [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UBlackboardKeyType](API\Runtime\AIModule\BehaviorTree\Blackboard\UBlackboardKeyType) > KeyType, [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyA, [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyB ) const


Copy content from SourceKeyID to DestinationID and return true if it worked

bool CopyKeyValue ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) SourceKeyID, [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) DestinationID )


Get description of value under given key

[FString](API\Runtime\Core\Containers\FString) DescribeKeyValue ( const [FName](API\Runtime\Core\UObject\FName) & KeyName, [EBlackboardDescription::Type](API\Runtime\AIModule\BehaviorTree\EBlackboardDescription__Type) Mode ) const


[FString](API\Runtime\Core\Containers\FString) DescribeKeyValue ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID, [EBlackboardDescription::Type](API\Runtime\AIModule\BehaviorTree\EBlackboardDescription__Type) Mode ) const


Prepare blackboard snapshot for logs

virtual void DescribeSelfToVisLog ( struct [FVisualLogEntry](API\Runtime\Engine\VisualLogger\FVisualLogEntry) * Snapshot ) const


Destroy allocated values


FOnBlackboardChangeNotificationInfo &40; const FOnBlackboardChangeNotification & InDelegateHandle &41;


blackboard data asset

[UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) * GetBlackboardAsset() const


associated behavior tree component

[UBrainComponent](API\Runtime\AIModule\UBrainComponent) * GetBrainComponent() const


[FString](API\Runtime\Core\Containers\FString) GetDebugInfoString ( [EBlackboardDescription::Type](API\Runtime\AIModule\BehaviorTree\EBlackboardDescription__Type) Mode ) const


key ID from name

[FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) GetKeyID ( const [FName](API\Runtime\Core\UObject\FName) & KeyName ) const


ENDUActorComponentoverrides
name of key

[FName](API\Runtime\Core\UObject\FName) GetKeyName ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID ) const


Get pointer to raw data for given key

uint8 * GetKeyRawData ( const [FName](API\Runtime\Core\UObject\FName) & KeyName )


uint8 * GetKeyRawData ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID )


const uint8 * GetKeyRawData ( const [FName](API\Runtime\Core\UObject\FName) & KeyName ) const


const uint8 * GetKeyRawData ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID ) const


class of value for given key

[TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UBlackboardKeyType](API\Runtime\AIModule\BehaviorTree\Blackboard\UBlackboardKeyType) > GetKeyType ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID ) const


Return false if call failed (most probably no such entry in BB)

bool GetLocationFromEntry ( const [FName](API\Runtime\Core\UObject\FName) & KeyName, FVector & ResultLocation ) const


bool GetLocationFromEntry ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID, FVector & ResultLocation ) const


number of entries in data asset


bool GetRotationFromEntry ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID, FRotator & ResultRotation ) const


bool GetRotationFromEntry ( const [FName](API\Runtime\Core\UObject\FName) & KeyName, FRotator & ResultRotation ) const


template<class TDataClass> TDataClass::FDataType GetValue ( const [FName](API\Runtime\Core\UObject\FName) & KeyName ) const


template<class TDataClass> TDataClass::FDataType GetValue ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID ) const


[UClass](API\Runtime\CoreUObject\UObject\UClass) * GetValueAsClass ( const [FName](API\Runtime\Core\UObject\FName) & KeyName ) const


uint8 GetValueAsEnum ( const [FName](API\Runtime\Core\UObject\FName) & KeyName ) const


float GetValueAsFloat ( const [FName](API\Runtime\Core\UObject\FName) & KeyName ) const


int32 GetValueAsInt ( const [FName](API\Runtime\Core\UObject\FName) & KeyName ) const


[FName](API\Runtime\Core\UObject\FName) GetValueAsName ( const [FName](API\Runtime\Core\UObject\FName) & KeyName ) const


[UObject](API\Runtime\CoreUObject\UObject\UObject) * GetValueAsObject ( const [FName](API\Runtime\Core\UObject\FName) & KeyName ) const


bool GetValueAsBool ( const [FName](API\Runtime\Core\UObject\FName) & KeyName ) const


FRotator GetValueAsRotator ( const [FName](API\Runtime\Core\UObject\FName) & KeyName ) const


FVector GetValueAsVector ( const [FName](API\Runtime\Core\UObject\FName) & KeyName ) const


[FString](API\Runtime\Core\Containers\FString) GetValueAsString ( const [FName](API\Runtime\Core\UObject\FName) & KeyName ) const


true if blackboard have valid data asset


Setup component for using given blackboard asset, returns true if blackboard is properly initialized for specified blackboard data

bool InitializeBlackboard ( [UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) & NewAsset )


BEGINUActorComponentoverrides


Initializes parent chain in asset

void InitializeParentChain ( [UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) * NewAsset )


true if component can be used with specified blackboard asset

virtual bool IsCompatibleWith ( const [UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) * TestAsset ) const


true if the key is marked as instance synced

bool IsKeyInstanceSynced ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID ) const


template<class TDataClass> bool IsKeyOfType ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID ) const


PRAGMA_DISABLE_DEPRECATION_WARNINGSbool IsValidKey ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID ) const


bool IsVectorValueSet ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID ) const


Notifies behavior tree decorators about change in blackboard

void NotifyObservers ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID ) const


Pause observer change notifications, any new ones will be added to a queue


Populates BB's synchronized entries


Register observer for blackboard key

[FDelegateHandle](API\Runtime\Core\Delegates\FDelegateHandle) RegisterObserver ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID, const [UObject](API\Runtime\CoreUObject\UObject\UObject) * NotifyOwner, FOnBlackboardChangeNotification ObserverDelegate )


Resume observer change notifications and, optionally, process the queued observation list

void ResumeObserverNotifications ( bool bSendQueuedObserverNotifications )


template<class TDataClass> bool SetValue ( const [FName](API\Runtime\Core\UObject\FName) & KeyName, typename TDataClass::FDataType Value )


template<class TDataClass> bool SetValue ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID, typename TDataClass::FDataType Value )


void SetValueAsBool ( const [FName](API\Runtime\Core\UObject\FName) & KeyName, bool BoolValue )


void SetValueAsClass ( const [FName](API\Runtime\Core\UObject\FName) & KeyName, [UClass](API\Runtime\CoreUObject\UObject\UClass) * ClassValue )


void SetValueAsEnum ( const [FName](API\Runtime\Core\UObject\FName) & KeyName, uint8 EnumValue )


void SetValueAsFloat ( const [FName](API\Runtime\Core\UObject\FName) & KeyName, float FloatValue )


void SetValueAsInt ( const [FName](API\Runtime\Core\UObject\FName) & KeyName, int32 IntValue )


void SetValueAsName ( const [FName](API\Runtime\Core\UObject\FName) & KeyName, [FName](API\Runtime\Core\UObject\FName) NameValue )


void SetValueAsObject ( const [FName](API\Runtime\Core\UObject\FName) & KeyName, [UObject](API\Runtime\CoreUObject\UObject\UObject) * ObjectValue )


void SetValueAsRotator ( const [FName](API\Runtime\Core\UObject\FName) & KeyName, FRotator VectorValue )


void SetValueAsString ( const [FName](API\Runtime\Core\UObject\FName) & KeyName, [FString](API\Runtime\Core\Containers\FString) StringValue )


void SetValueAsVector ( const [FName](API\Runtime\Core\UObject\FName) & KeyName, FVector VectorValue )


bool ShouldSyncWithBlackboard ( [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) & OtherBlackboardComponent ) const


Handle this component being Uninitialized. Called fromAActor::EndPlayonly if bHasBeenInitialized is true


Unregister observer from blackboard key

void UnregisterObserver ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID, [FDelegateHandle](API\Runtime\Core\Delegates\FDelegateHandle) ObserverHandle )


UBlackboardComponent ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Unregister all observers associated with given owner

void UnregisterObserversFrom ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * NotifyOwner )


class UBlackboardComponent : public [UActorComponent](API\Runtime\Engine\Components\UActorComponent)

BlackboardAsset

Internal use, current BB asset being used. Will be made private in the future

bPausedNotifies

Set when observation notifies are paused and shouldn't be passed to observers

BrainComp

Cached behavior tree component

bSynchronizedKeyPopulated

Reset to false every time a new BB asset is assigned to this component

DefaultBlackboardAsset

Data asset defining entries.

KeyInstances

Instanced keys with custom data allocations

NotifyObserversRecursionCount

Count of re-entrant observer notifications

ObserverHandles

Observers registered from owner objects

Observers

Observers registered for blackboard keys

ObserversToRemoveCount

Count of observers to remove

QueuedUpdates

Queued key change notification, will be processed on ResumeUpdates call

ValueMemory

Memory block holding all values

ValueOffsets

Offsets in ValueMemory for each key


enum EKeyLookupMode { CheckParentKeys, DontCheckParentKeys, }


A delegate called on PostEditChangeProperty. Can be used in editor to react to asset changes.

typedef TMulticastDelegate_OneParam< void, [UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) * > FBlackboardDataChanged


typedef TMulticastDelegate_OneParam< void, [UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) * > FKeyUpdate


key data

const [FBlackboardEntry](API\Runtime\AIModule\BehaviorTree\FBlackboardEntry) * GetKey ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID ) const


key ID from name

[FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) GetKeyID ( const [FName](API\Runtime\Core\UObject\FName) & KeyName ) const


name of key

[FName](API\Runtime\Core\UObject\FName) GetKeyName ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID ) const


const [TArray](API\Runtime\Core\Containers\TArray)< [FBlackboardEntry](API\Runtime\AIModule\BehaviorTree\FBlackboardEntry) > & GetKeys() const


class of value for given key

[TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UBlackboardKeyType](API\Runtime\AIModule\BehaviorTree\Blackboard\UBlackboardKeyType) > GetKeyType ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID ) const


number of defined keys, including parent chain


key ID from name

[FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) InternalGetKeyID ( const [FName](API\Runtime\Core\UObject\FName) & KeyName, [EKeyLookupMode](API\Runtime\AIModule\BehaviorTree\UBlackboardData\EKeyLookupMode) LookupMode ) const


Returns true if OtherAsset is somewhere up the parent chain of this asset. Node that it will return false if *this == OtherAsset

bool IsChildOf ( const [UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) & OtherAsset ) const


true if the key is instance synced

bool IsKeyInstanceSynced ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID ) const


Returns true if OtherAsset is equal to *this, or is it's parent, or *this is OtherAsset's parent

bool IsRelatedTo ( const [UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) & OtherAsset ) const


true if blackboard keys are not conflicting with parent key chain


bool IsValidKey ( [FBlackboard::FKey](API\Runtime\AIModule\BehaviorTree\Blackboard\FKey) KeyID ) const


Delegate called for every loaded blackboard asset meant for adding game specific persistent keys


Called when a property on this object has been modified externally

virtual void PostEditChangeProperty ( struct [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


Called after the C++ constructor and after the properties have been initialized, including those loaded from config. This is called before any serialization or other setup has happened.


Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.


Fix entries with deprecated key types


Forces update of FirstKeyID, which depends on parent chain


Updates parent key cache for editor


Updates persistent key with given name, depending on currently defined entries and parent chain
key type of newly created entry for further setup

template<class T> T * UpdatePersistentKey ( const [FName](API\Runtime\Core\UObject\FName) & KeyName )


UBlackboardData ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


class UBlackboardData : public [UDataAsset](API\Runtime\Engine\Engine\UDataAsset)

Keys

Blackboard keys

Parent

Parent blackboard (keys can be overridden)

ParentKeys

All keys inherited from parent chain


Gathers description of all runtime parameters

virtual void DescribeRuntimeValues ( const [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, [EBTDescriptionVerbosity::Type](API\Runtime\AIModule\BehaviorTree\EBTDescriptionVerbosity__Type) Verbosity, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & Values ) const


index of child in parent's array or MAX_uint8


parent task node

const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * GetMyNode() const


Get The next needed deltatime for this node
The next needed DeltaTime

float GetNextNeededDeltaTime ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory ) const


Gets remaining time for next tick

float GetNextTickRemainingTime ( uint8 * NodeMemory ) const


Size of special, hidden memory block for internal mechanics

virtual uint16 GetSpecialMemorySize() const


Fill in data about tree structure

void InitializeParentLink ( uint8 InChildIndex )


Called when auxiliary node becomes active this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyBecomeRelevant must be set to true for this function to be called Calling INIT_AUXILIARY_NODE_NOTIFY_FLAGS in the constructor of the node will set this flag automatically

virtual void OnBecomeRelevant ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


Called when auxiliary node becomes inactive this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyCeaseRelevant must be set to true for this function to be called Calling INIT_AUXILIARY_NODE_NOTIFY_FLAGS in the constructor of the node will set this flag automatically

virtual void OnCeaseRelevant ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory )


Sets next tick time

void SetNextTickTime ( uint8 * NodeMemory, float RemainingTime ) const


Tick function this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyTick must be set to true for this function to be called Calling INIT_AUXILIARY_NODE_NOTIFY_FLAGS in the constructor of the node will set this flag automatically

virtual void TickNode ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, float DeltaSeconds )


Wrapper for node instancing: OnBecomeRelevant

void WrappedOnBecomeRelevant ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory ) const


Wrapper for node instancing: OnCeaseRelevant

void WrappedOnCeaseRelevant ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory ) const


UBTAuxiliaryNode ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


Wrapper for node instancing: TickNode
True if it actually done some processing or false if it was skipped because of not ticking or in between time interval

bool WrappedTickNode ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, float DeltaSeconds, float & NextNeededDeltaTime ) const


If your node is not being instanced (default behavior), DO NOT change any properties of object within those functions! Template nodes are shared across all behavior tree components using the same tree asset and must store their runtime properties in provided NodeMemory block (allocation size determined byGetInstanceMemorySize())

class UBTAuxiliaryNode : public [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode)

bNotifyBecomeRelevant

If set, OnBecomeRelevant will be used

bNotifyCeaseRelevant

If set, OnCeaseRelevant will be used

bNotifyTick

If set, OnTick will be used

bTickIntervals

If set, conditional tick will use remaining time from node's memory

ChildIndex

Child index in parent node


allowed flow abort modes for decorators

virtual bool CanAbortLowerPriority() const


Check if NotifyDecoratorsOnActivation is allowed, requires bUseDecoratorsActivationCheck flag bUseDecoratorsActivationCheck must be set to true for this function to be called Calling INIT_COMPOSITE_NODE_NOTIFY_FLAGS in the constructor of the node will set this flag automatically

virtual bool CanNotifyDecoratorsOnActivation ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, int32 ChildIdx ) const


Check if NotifyDecoratorsOnDeactivation is allowed, requires bUseDecoratorsDeactivationCheck flag bUseDecoratorsDeactivationCheck must be set to true for this function to be called Calling INIT_COMPOSITE_NODE_NOTIFY_FLAGS in the constructor of the node will set this flag automatically

virtual bool CanNotifyDecoratorsOnDeactivation ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, int32 ChildIdx, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) & NodeResult ) const


Check if NotifyDecoratorsOnFailedActivation is allowed, requires bUseDecoratorsActivationCheck flag bUseDecoratorsFailedActivationCheck must be set to true for this function to be called Calling INIT_COMPOSITE_NODE_NOTIFY_FLAGS in the constructor of the node will set this flag automatically

virtual bool CanNotifyDecoratorsOnFailedActivation ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, int32 ChildIdx, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) & NodeResult ) const


Check if child node can execute new subtree

virtual bool CanPushSubtree ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, int32 ChildIdx ) const


Notify about task execution start

void ConditionalNotifyChildExecution ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) & ChildNode, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) & NodeResult ) const


virtual void DescribeRuntimeValues ( const [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, [EBTDescriptionVerbosity::Type](API\Runtime\AIModule\BehaviorTree\EBTDescriptionVerbosity__Type) Verbosity, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & Values ) const


Is child execution allowed by decorators?

bool DoDecoratorsAllowExecution ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, const int32 InstanceIdx, const int32 ChildIdx ) const


Find next child branch to execute

int32 FindChildToExecute ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) & LastResult ) const


Get first execution index of given branch

uint16 GetBranchExecutionIndex ( uint16 NodeInBranchIdx ) const


execution index of child node

uint16 GetChildExecutionIndex ( int32 Index, EBTChildIndex ChildMode ) const


Get index of child node

int32 GetChildIndex ( const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) & ChildNode ) const


Get index of child node (handle subtrees)

int32 GetChildIndex ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) & ChildNode ) const


child node at given index

[UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * GetChildNode ( int32 Index ) const


children count


Size of instance memory

virtual uint16 GetInstanceMemorySize() const


execution index of last node in child branches


Get next child to process and store it in CurrentChild

int32 GetNextChild ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, int32 LastChildIdx, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) LastResult ) const


Find branch containing specified node index

int32 GetMatchingChildIndex ( int32 ActiveInstanceIdx, [FBTNodeIndex](API\Runtime\AIModule\BehaviorTree\FBTNodeIndex) & NodeIdx ) const


virtual int32 GetNextChildHandler ( struct [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, int32 PrevChild, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) LastResult ) const


Fill in data about tree structure

void InitializeComposite ( uint16 InLastExecutionIndex )


Called just after child execution, allows to modify result bUseChildExecutionNotify must be set to true for this function to be called Calling INIT_COMPOSITE_NODE_NOTIFY_FLAGS in the constructor of the node will set this flag automatically

virtual void NotifyChildExecution ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, int32 ChildIdx, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) & NodeResult ) const


Runs through decorators on given child node and notify them about activation

void NotifyDecoratorsOnActivation ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, int32 ChildIdx ) const


Runs through decorators on given child node and notify them about failed activation

void NotifyDecoratorsOnFailedActivation ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, int32 ChildIdx, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) & NodeResult ) const


Runs through decorators on given child node and notify them about deactivation

void NotifyDecoratorsOnDeactivation ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, int32 ChildIdx, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) & NodeResult, const bool bIsInSameActiveInstance ) const