Called when start leaves this node bUseNodeDeactivationNotify 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 NotifyNodeDeactivation ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) & NodeResult ) const


Called when start enters this node bUseNodeActivationNotify 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 NotifyNodeActivation ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData ) const


Called before passing search to child node

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


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


Deprecated methods

void OnChildDeactivation ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) & ChildNode, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) & NodeResult ) const


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

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


Notification called after child has finished search

void OnChildDeactivation ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, const [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) & ChildNode, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) & NodeResult, const bool bRequestedFromValidInstance ) const


void OnChildDeactivation ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, int32 ChildIndex, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) & NodeResult, const bool bRequestedFromValidInstance ) const


Called when start enters this node

void OnNodeActivation ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData ) const


Called when search leaves this node

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


Called when search needs to reactivate this node

void OnNodeRestart ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData ) const


Store delayed execution request

void RequestDelayedExecution ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) LastResult ) const


Set override for next child index

virtual void SetChildOverride ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, int8 Index ) const


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


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

bApplyDecoratorScope

If set, all decorators in branch below will be removed when execution flow leaves (decorators on this node are not affected)

bUseChildExecutionNotify

If set, NotifyChildExecution will be called

bUseDecoratorsActivationCheck

If set, CanNotifyDecoratorsOnActivation will be called

bUseDecoratorsDeactivationCheck

If set, CanNotifyDecoratorsOnDeactivation will be called

bUseDecoratorsFailedActivationCheck

If set, CanNotifyDecoratorsOnFailedActivation will be called

bUseNodeActivationNotify

If set, NotifyNodeActivation will be called

bUseNodeDeactivationNotify

If set, NotifyNodeDeactivation will be called

Children

Child nodes

LastExecutionIndex

Execution index of last node in child branches

Services

Service nodes


Calculates raw, core value of decorator's condition. Should not include calling IsInversed

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


More "flow aware" version of calling RequestExecution(this) on owning behavior tree component should be used in external events that may change result of CalculateRawConditionValue

void ConditionalFlowAbort ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, EBTDecoratorAbortRequest RequestMode ) const


flow controller's abort mode


string containing description of this node with all setup values

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


true if current abort mode can be used with parent composite


true if condition should be inversed


Called when underlying node is activated this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyActivation must be set to true for this function to be called Calling INIT_DECORATOR_NODE_NOTIFY_FLAGS in the constructor of the decorator will set this flag automatically

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


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

virtual void OnNodeDeactivation ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) NodeResult )


Called when underlying node was processed (deactivated or failed to activate) this function should be considered as const (don't modify state of object) if node is not instanced! bNotifyProcessed must be set to true for this function to be called Calling INIT_DECORATOR_NODE_NOTIFY_FLAGS in the constructor of the decorator will set this flag automatically

virtual void OnNodeProcessed ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) & NodeResult )


void SetIsInversed ( bool bShouldBeInversed )


Modify current flow abort mode, so it can be used with parent composite


Wrapper for node instancing: CalculateRawConditionValue

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


Wrapper for node instancing: OnNodeActivation

void WrappedOnNodeActivation ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData ) const


Wrapper for node instancing: OnNodeDeactivation

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


Wrapper for node instancing: OnNodeProcessed

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


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


Resets indicated value to "not set" value, based on values type

static void ClearBlackboardValue ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key )


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 UBTDecorator : public [UBTAuxiliaryNode](API\Runtime\AIModule\BehaviorTree\UBTAuxiliaryNode)

bAllowAbortChildNodes

If set, FlowAbortMode can be set to Self and Both

bAllowAbortLowerPri

If set, FlowAbortMode can be set to LowerPriority and Both

bAllowAbortNone

If set, FlowAbortMode can be set to None

bNotifyActivation

If set, OnNodeActivation will be used

bNotifyDeactivation

If set, OnNodeDeactivation will be used

bNotifyProcessed

If set, OnNodeProcessed will be used

bShowInverseConditionDesc

If set, static description will include default description of inversed condition

FlowAbortMode

Flow controller settings


(DEPRECATED) Use ClearBlackboardValue instead

static void ClearBlackboardValueAsVector ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key )


static [AActor](API\Runtime\Engine\GameFramework\AActor) * GetBlackboardValueAsActor ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key )


static bool GetBlackboardValueAsBool ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key )


static [UClass](API\Runtime\CoreUObject\UObject\UClass) * GetBlackboardValueAsClass ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key )


static uint8 GetBlackboardValueAsEnum ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key )


static float GetBlackboardValueAsFloat ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key )


static int32 GetBlackboardValueAsInt ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key )


static [FName](API\Runtime\Core\UObject\FName) GetBlackboardValueAsName ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key )


static [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetBlackboardValueAsObject ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key )


static FRotator GetBlackboardValueAsRotator ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key )


static [FString](API\Runtime\Core\Containers\FString) GetBlackboardValueAsString ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key )


static FVector GetBlackboardValueAsVector ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key )


static [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) * GetOwnerComponent ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner )


static [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) * GetOwnersBlackboard ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner )


static void SetBlackboardValueAsBool ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key, bool Value )


static void SetBlackboardValueAsClass ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key, [UClass](API\Runtime\CoreUObject\UObject\UClass) * Value )


static void SetBlackboardValueAsEnum ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key, uint8 Value )


static void SetBlackboardValueAsFloat ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key, float Value )


static void SetBlackboardValueAsInt ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key, int32 Value )


static void SetBlackboardValueAsName ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key, [FName](API\Runtime\Core\UObject\FName) Value )


static void SetBlackboardValueAsObject ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Value )


static void SetBlackboardValueAsRotator ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key, FRotator Value )


static void SetBlackboardValueAsString ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key, [FString](API\Runtime\Core\Containers\FString) Value )


static void SetBlackboardValueAsVector ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, const [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & Key, FVector Value )


Initialize variables marked as "instance memory" and set owning actor for blackboard operations

static void StartUsingExternalEvent ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner, [AActor](API\Runtime\Engine\GameFramework\AActor) * OwningActor )


Save variables marked as "instance memory" and clear owning actor

static void StopUsingExternalEvent ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NodeOwner )


class UBTFunctionLibrary : public [UBlueprintFunctionLibrary](API\Runtime\Engine\Kismet\UBlueprintFunctionLibrary)


template<typename T> T * CastInstanceNodeMemory ( uint8 * NodeMemory ) const


Called on removing subtree to cleanup memory

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


Cleanup memory block

virtual void CleanupMemory ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, [EBTMemoryClear::Type](API\Runtime\AIModule\BehaviorTree\EBTMemoryClear__Type) CleanupType ) 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


Sets bCreateNodeInstance flag, do NOT call this function on already pushed tree instance!


blackboard asset

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


[UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) * GetBTComponentForTask ( [UGameplayTask](API\Runtime\GameplayTasks\UGameplayTask) & Task ) const


execution index


Get "body" of task's owner / default, having location in world (e.g. Owner = AIController, Avatar = Pawn)

virtual [AActor](API\Runtime\Engine\GameFramework\AActor) * GetGameplayTaskAvatar ( const [UGameplayTask](API\Runtime\GameplayTasks\UGameplayTask) * Task ) const


Get default priority for running a task

virtual uint8 GetGameplayTaskDefaultPriority() const


Get owner of a task or default one when task is null

virtual [AActor](API\Runtime\Engine\GameFramework\AActor) * GetGameplayTaskOwner ( const [UGameplayTask](API\Runtime\GameplayTasks\UGameplayTask) * Task ) const


Finds tasks component for given GameplayTask, Task.GetGameplayTasksComponent() may not be initialized at this point!

virtual [UGameplayTasksComponent](API\Runtime\GameplayTasks\UGameplayTasksComponent) * GetGameplayTasksComponent ( const [UGameplayTask](API\Runtime\GameplayTasks\UGameplayTask) & Task ) const


Size of instance memory

virtual uint16 GetInstanceMemorySize() const


memory offset


next node in execution order

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


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

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


node instance if bCreateNodeInstance was set

[UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * GetNodeInstance ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData ) const


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


template<typename T> T * GetNodeMemory ( [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData ) const


template<typename T> const T * GetNodeMemory ( const [FBehaviorTreeSearchData](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeSearchData) & SearchData ) const


template<typename T> const T * GetNodeMemory ( const [FBehaviorTreeInstance](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeInstance) & BTInstance ) const


template<typename T> T * GetNodeMemory ( [FBehaviorTreeInstance](API\Runtime\AIModule\BehaviorTree\FBehaviorTreeInstance) & BTInstance ) const


name of node


parent node

[UBTCompositeNode](API\Runtime\AIModule\BehaviorTree\UBTCompositeNode) * GetParentNode() const


string containing description of this node instance with all relevant runtime values

[FString](API\Runtime\Core\Containers\FString) GetRuntimeDescription ( const [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, uint8 * NodeMemory, [EBTDescriptionVerbosity::Type](API\Runtime\AIModule\BehaviorTree\EBTDescriptionVerbosity__Type) Verbosity ) const


Size of special, hidden memory block for internal mechanics

virtual uint16 GetSpecialMemorySize() const


string containing description of this node with all setup values

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


Get special memory block used for hidden shared data (e.g. node instancing)

template<typename T> T * GetSpecialNodeMemory ( uint8 * NodeMemory ) const


tree asset

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


depth in tree


virtual [UWorld](API\Runtime\Engine\Engine\UWorld) * GetWorld() const


true if node wants to be instanced


Fill in data about execution order

void InitializeExecutionOrder ( [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * NextNode )


Initialize any asset related data

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


Called on creating subtree to set up memory and instancing

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


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


Fill in data about tree structure

void InitializeNode ( [UBTCompositeNode](API\Runtime\AIModule\BehaviorTree\UBTCompositeNode) * InParentNode, uint16 InExecutionIndex, uint16 InMemoryOffset, uint8 InTreeDepth )


true if node was injected by subtree


true if this object is instanced node


Sets bIsInjected flag, do NOT call this function unless you really know what you are doing!


template<class T> T * NewBTAITask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & BTComponent )


template<class T> T * NewBTAITask ( const [UClass](API\Runtime\CoreUObject\UObject\UClass) & Class, [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & BTComponent )


Notify called after GameplayTask finishes initialization (not active yet)

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


Called when node instance is added to tree

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


Called when node instance is removed from tree

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


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


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 )


Get whether this node is using a blueprint for its logic


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


class UBTNode : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [IGameplayTaskOwnerInterface](API\Runtime\GameplayTasks\IGameplayTaskOwnerInterface)

bCreateNodeInstance

If set, node will be instanced instead of using memory block and template shared with all other BT components

bOwnsGameplayTasks

Set to true if task owns any GameplayTasks.

NodeName

Node name


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


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


Gets the description of our tick interval.


Gets the description for our service.

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


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


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 )


Set next tick time

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


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 )


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


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 UBTService : public [UBTAuxiliaryNode](API\Runtime\AIModule\BehaviorTree\UBTAuxiliaryNode)

bCallTickOnSearchStart

Call Tick event when task search enters this node (SearchStart will be called as well)

bNotifyOnSearch

If set, service will be notified about search entering underlying branch

bRestartTimerOnEachActivation

If set, next tick time will be always reset to service's interval when node is activated

Interval

Defines time span between subsequent ticks of the service

RandomDeviation

Adds random range to service's Interval


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 )


Helper function: finishes latent aborting

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


Helper function: finish latent executing

void FinishLatentTask ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, [EBTNodeResult::Type](API\Runtime\AIModule\BehaviorTree\EBTNodeResult__Type) TaskResult ) const


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


Size of special, hidden memory block for internal mechanics

virtual uint16 GetSpecialMemorySize() const


template<typename [TickTask](API\Runtime\AIModule\BehaviorTree\UBTTaskNode\TickTask), typename [OnTaskFinished](API\Runtime\AIModule\BehaviorTree\UBTTaskNode\OnTaskFinished)> void InitNotifyFlags ( [TickTask](API\Runtime\AIModule\BehaviorTree\UBTTaskNode\TickTask), [OnTaskFinished](API\Runtime\AIModule\BehaviorTree\UBTTaskNode\OnTaskFinished) )


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

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


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 )


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 )


Message observer's hook

void ReceivedMessage ( [UBrainComponent](API\Runtime\AIModule\UBrainComponent) * BrainComp, const [FAIMessage](API\Runtime\AIModule\FAIMessage) & Message )


Sets next tick time

void SetNextTickTime ( uint8 * NodeMemory, float RemainingTime ) const


true if task search should be discarded when this task is selected to execute but is already running


Unregister message observers

void StopWaitingForMessages ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp ) 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 )


Register message observer

void WaitForMessage ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, [FName](API\Runtime\Core\UObject\FName) MessageType ) const


Register message observer

void WaitForMessage ( [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) & OwnerComp, [FName](API\Runtime\Core\UObject\FName) MessageType, int32 RequestID ) const


Wrapper for node instancing: AbortTask

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


Wrapper for node instancing: ExecuteTask

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


Wrapper for node instancing: OnTaskFinished

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


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

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


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


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 UBTTaskNode : public [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode)

bIgnoreRestartSelf

If set, task search will be discarded when this task is selected to execute but is already running

bNotifyTaskFinished

If set, OnTaskFinished will be called

bNotifyTick

If set, TickTask will be called

bTickIntervals

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

Services

Service nodes


Called before destroying the object. This is called immediately upon deciding to destroy the object, to allow the object to begin an asynchronous cleanup process.


void OnMoveCompleted ( [FAIRequestID](API\Runtime\AIModule\FAIRequestID) RequestID, [EPathFollowingResult::Type](API\Runtime\AIModule\Navigation\EPathFollowingResult__Type) MovementResult )


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


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


static [UAIAsyncTaskBlueprintProxy](API\Runtime\AIModule\Blueprint\UAIAsyncTaskBlueprintProxy) * CreateMoveToProxyObject ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [APawn](API\Runtime\Engine\GameFramework\APawn) * Pawn, FVector Destination, [AActor](API\Runtime\Engine\GameFramework\AActor) * TargetActor, float AcceptanceRadius, bool bStopOnOverlap )


The way it works exactly is if the actor passed in is a pawn, then the function retrieves pawn's controller cast to AIController. Otherwise the function returns actor cast to AIController.

static [AAIController](API\Runtime\AIModule\AAIController) * GetAIController ( [AActor](API\Runtime\Engine\GameFramework\AActor) * ControlledActor )


static [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) * GetBlackboard ( [AActor](API\Runtime\Engine\GameFramework\AActor) * Target )


Returns a NEW UOBJECT that is a COPY of navigation path given controller is currently using. The result being a copy means you won't be able to influence agent's pathfollowing by manipulating received path. Please use GetCurrentPathPoints if you only need the array of path points.

static [UNavigationPath](API\Runtime\NavigationSystem\UNavigationPath) * GetCurrentPath ( [AController](API\Runtime\Engine\GameFramework\AController) * Controller )


Return the path index the given controller is currently at. Returns INDEX_NONE if no path.

static int32 GetCurrentPathIndex ( const [AController](API\Runtime\Engine\GameFramework\AController) * Controller )


Returns an array of navigation path points given controller is currently using.

static const [TArray](API\Runtime\Core\Containers\TArray)< FVector > GetCurrentPathPoints ( [AController](API\Runtime\Engine\GameFramework\AController) * Controller )


Return the path index of the next nav link for the current path of the given controller. Returns INDEX_NONE if no path or no incoming nav link.

static int32 GetNextNavLinkIndex ( const [AController](API\Runtime\Engine\GameFramework\AController) * Controller )


static bool IsValidAIDirection ( FVector DirectionVector )


static bool IsValidAILocation ( FVector Location )


static bool IsValidAIRotation ( FRotator Rotation )


Locks indicated AI resources of animated pawn

static void LockAIResourcesWithAnimation ( [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * AnimInstance, bool bLockMovement, bool LockAILogic )


static void SendAIMessage ( [APawn](API\Runtime\Engine\GameFramework\APawn) * Target, [FName](API\Runtime\Core\UObject\FName) Message, [UObject](API\Runtime\CoreUObject\UObject\UObject) * MessageSource, bool bSuccess )


static void SimpleMoveToActor ( [AController](API\Runtime\Engine\GameFramework\AController) * Controller, const [AActor](API\Runtime\Engine\GameFramework\AActor) * Goal )


static void SimpleMoveToLocation ( [AController](API\Runtime\Engine\GameFramework\AController) * Controller, const FVector & Goal )


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


Unlocks indicated AI resources of animated pawn. Will unlock only animation-locked resources

static void UnlockAIResourcesWithAnimation ( [UAnimInstance](API\Runtime\Engine\Animation\UAnimInstance) * AnimInstance, bool bUnlockMovement, bool UnlockAILogic )


Spawns AI agent of a given class. The PawnClass needs to have AIController set for the function to spawn a controller as well.

static [APawn](API\Runtime\Engine\GameFramework\APawn) * SpawnAIFromClass ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [APawn](API\Runtime\Engine\GameFramework\APawn) > PawnClass, [UBehaviorTree](API\Runtime\AIModule\BehaviorTree\UBehaviorTree) * BehaviorTree, FVector Location, FRotator Rotation, bool bNoCollisionFail, [AActor](API\Runtime\Engine\GameFramework\AActor) * Owner )


class UAIBlueprintHelperLibrary : public [UBlueprintFunctionLibrary](API\Runtime\Engine\Kismet\UBlueprintFunctionLibrary)


namespace BlueprintNodeHelpers { void BlueprintNodeHelpers::AbortLatentActions ( [UActorComponent](API\Runtime\Engine\Components\UActorComponent) & OwnerOb, const [UObject](API\Runtime\CoreUObject\UObject\UObject) & Ob ) }


namespace BlueprintNodeHelpers { void BlueprintNodeHelpers::CollectBlackboardSelectors ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Ob, const [UClass](API\Runtime\CoreUObject\UObject\UClass) * StopAtClass, [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & KeyNames ) }


namespace BlueprintNodeHelpers { [FString](API\Runtime\Core\Containers\FString) BlueprintNodeHelpers::CollectPropertyDescription ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Ob, const [UClass](API\Runtime\CoreUObject\UObject\UClass) * StopAtClass, const [TArray](API\Runtime\Core\Containers\TArray)< [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * > & InPropertiesToSkip ) }


namespace BlueprintNodeHelpers { [FString](API\Runtime\Core\Containers\FString) BlueprintNodeHelpers::CollectPropertyDescription ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Ob, const [UClass](API\Runtime\CoreUObject\UObject\UClass) * StopAtClass, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool([FProperty](API\Runtime\CoreUObject\UObject\FProperty) *)> ShouldSkipProperty ) }


namespace BlueprintNodeHelpers { void BlueprintNodeHelpers::CollectPropertyData ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Ob, const [UClass](API\Runtime\CoreUObject\UObject\UClass) * StopAtClass, [TArray](API\Runtime\Core\Containers\TArray)< [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * > & PropertyData ) }


namespace BlueprintNodeHelpers { void BlueprintNodeHelpers::CopyPropertiesToContext ( const [TArray](API\Runtime\Core\Containers\TArray)< [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * > & PropertyData, uint8 * ObjectMemory, uint8 * ContextMemory ) }


namespace BlueprintNodeHelpers { void BlueprintNodeHelpers::CopyPropertiesFromContext ( const [TArray](API\Runtime\Core\Containers\TArray)< [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * > & PropertyData, uint8 * ObjectMemory, uint8 * ContextMemory ) }


namespace BlueprintNodeHelpers { [FString](API\Runtime\Core\Containers\FString) BlueprintNodeHelpers::DescribeProperty ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Prop, const uint8 * PropertyAddr ) }


namespace BlueprintNodeHelpers { void BlueprintNodeHelpers::DescribeRuntimeValues ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Ob, const [TArray](API\Runtime\Core\Containers\TArray)< [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * > & PropertyData, [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & RuntimeValues ) }


namespace BlueprintNodeHelpers { bool BlueprintNodeHelpers::FindNodeOwner ( [AActor](API\Runtime\Engine\GameFramework\AActor) * OwningActor, [UBTNode](API\Runtime\AIModule\BehaviorTree\UBTNode) * Node, [UBehaviorTreeComponent](API\Runtime\AIModule\BehaviorTree\UBehaviorTreeComponent) *& OwningComp, int32 & OwningInstanceIdx ) }


namespace BlueprintNodeHelpers { [FString](API\Runtime\Core\Containers\FString) BlueprintNodeHelpers::GetNodeName ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) & NodeObject ) }


namespace BlueprintNodeHelpers { uint16 BlueprintNodeHelpers::GetPropertiesMemorySize ( const [TArray](API\Runtime\Core\Containers\TArray)< [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * > & PropertyData ) }


namespace BlueprintNodeHelpers { bool BlueprintNodeHelpers::HasAnyBlackboardSelectors ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Ob, const [UClass](API\Runtime\CoreUObject\UObject\UClass) * StopAtClass ) }


namespace BlueprintNodeHelpers { bool BlueprintNodeHelpers::HasBlueprintFunction ( [FName](API\Runtime\Core\UObject\FName) FuncName, const [UObject](API\Runtime\CoreUObject\UObject\UObject) & Object, const [UClass](API\Runtime\CoreUObject\UObject\UClass) & StopAtClass ) }


namespace BlueprintNodeHelpers { void BlueprintNodeHelpers::ResolveBlackboardSelectors ( [UObject](API\Runtime\CoreUObject\UObject\UObject) & Ob, const [UClass](API\Runtime\CoreUObject\UObject\UClass) & StopAtClass, const [UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) & BlackboardAsset ) }


Describe default data

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


struct FAIDataProviderBoolValue : public [FAIDataProviderTypedValue](API\Runtime\AIModule\DataProviders\FAIDataProviderTypedValue)


Describe default data


struct FAIDataProviderFloatValue : public [FAIDataProviderTypedValue](API\Runtime\AIModule\DataProviders\FAIDataProviderTypedValue)


struct FAIDataProviderIntValue : public [FAIDataProviderTypedValue](API\Runtime\AIModule\DataProviders\FAIDataProviderTypedValue)


Filter for provider's properties

virtual bool IsMatchingType ( [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * PropType ) const


struct FAIDataProviderStructValue : public [FAIDataProviderValue](API\Runtime\AIModule\DataProviders\FAIDataProviderValue)

StructName

Name ofUStructtype


Filter for provider's properties


Implementing Serialize to convertUClasstoFFieldClass

bool Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


struct FAIDataProviderTypedValue : public [FAIDataProviderValue](API\Runtime\AIModule\DataProviders\FAIDataProviderValue)


Bind data in provider and cache property for faster access

void BindData ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner, int32 RequestId ) const


Find all properties of provider that are matching filter

void GetMatchingProperties ( [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & MatchingProperties ) const


Return raw data from provider's property

template<typename T> T * GetRawValuePtr() const


Non editable properties are holding data

DataBinding

(optional) provider for dynamic data binding

DataField

Name of provider's value property


template<> struct TStructOpsTypeTraits< FAIDataProviderTypedValue > : public [TStructOpsTypeTraitsBase2< FAIDataProviderTypedValue >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


virtual void BindData ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) & Owner, int32 RequestId )


virtual [FString](API\Runtime\Core\Containers\FString) ToString ( [FName](API\Runtime\Core\UObject\FName) PropName ) const


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


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


It allows defining simple parameters for running query, which are not tied to any specific pawn, but defined for every query execution.

class UAIDataProvider_QueryParams : public [UAIDataProvider](API\Runtime\AIModule\DataProviders\UAIDataProvider)

ParamName

Arbitrary name this query parameter will be exposed as to outside world (like BT nodes)


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


class UAIDataProvider_Random : public [UAIDataProvider_QueryParams](API\Runtime\AIModule\DataProviders\UAIDataProvider_QueryParams)


namespace EAIForceParam { enum Type { Force, DoNotForce, MAX, } }


namespace EAILockSource { enum Type { Animation, Logic, Script, Gameplay, MAX, } }


namespace EAILogicResuming { enum Type { Continue, RestartedInstead, } }


namespace EAIOptionFlag { enum Type { Default, Enable, Disable, MAX, } }


namespace EAIRequestPriority { static const int32 EAIRequestPriority::Lowest = EAIRequestPriority::Logic; }


namespace EAIRequestPriority { enum Type { SoftScript, Logic, HardScript, Reaction, Ultimate, MAX, } }


Returns EdRenderComp subobject


virtual float GetHighlightRangePct() const


RetrievesFNavAgentPropertiesexpressing navigation props and caps of represented agent  the function will be renamed to GetNavAgentProperties in 4.8. Current name was introduced to help with deprecating old GetNavAgentProperties function

virtual const [FNavAgentProperties](API\Runtime\Engine\AI\Navigation\FNavAgentProperties) & GetNavAgentPropertiesRef() const


virtual const [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) * GetQueryInstance() const


IEQSQueryResultSourceInterfacestart.

virtual const [FEnvQueryResult](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryResult) * GetQueryResult() const


Debugging

virtual bool GetShouldDebugDrawLabels() const


virtual bool GetShouldDrawFailedItems() const


static void OnEditorSelectionChanged ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * NewSelection )


void OnPropertyChanged ( const [FName](API\Runtime\Core\UObject\FName) PropName )


Called when a property on this object has been modified externally

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


Called after an actor has been moved in the editor

virtual void PostEditMove ( bool bFinished )


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.


Unlike PostEditUndo (which is called for any object in the transaction), this is only called on objects that are actually changed by the transaction.

virtual void PostTransacted ( const [FTransactionObjectEvent](API\Runtime\CoreUObject\Misc\FTransactionObjectEvent) & TransactionEvent )


Reset actor to initial state - used when restarting level without reloading.


This pawn class spawns its controller in PostInitProperties to have it available in editor mode

virtual void TickActor ( float DeltaTime, enum ELevelTick TickType, [FActorTickFunction](API\Runtime\Engine\Engine\FActorTickFunction) & ThisTickFunction )


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


class AEQSTestingPawn : public [ACharacter](API\Runtime\Engine\GameFramework\ACharacter), public [IEQSQueryResultSourceInterface](API\Runtime\AIModule\EnvironmentQuery\IEQSQueryResultSourceInterface)

QueryParams

Optional parameters for query


enum ECallMode { InvalidCallMode, SingleActor, SingleLocation, ActorSet, LocationSet, }


We need to implementGetWorld()so that blueprint functions which use a hidden WorldContextObject* will work properly.

virtual [UWorld](API\Runtime\Engine\Engine\UWorld) * GetWorld() const


void ProvideActorsSet ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * QuerierObject, [AActor](API\Runtime\Engine\GameFramework\AActor) * QuerierActor, [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & ResultingActorsSet ) const


virtual void ProvideContext ( [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance, [FEnvQueryContextData](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryContextData) & ContextData ) const


void ProvideLocationsSet ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * QuerierObject, [AActor](API\Runtime\Engine\GameFramework\AActor) * QuerierActor, [TArray](API\Runtime\Core\Containers\TArray)< FVector > & ResultingLocationSet ) const


void ProvideSingleActor ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * QuerierObject, [AActor](API\Runtime\Engine\GameFramework\AActor) * QuerierActor, [AActor](API\Runtime\Engine\GameFramework\AActor) *& ResultingActor ) const


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


void ProvideSingleLocation ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * QuerierObject, [AActor](API\Runtime\Engine\GameFramework\AActor) * QuerierActor, FVector & ResultingLocation ) const


class UEnvQueryContext_BlueprintBase : public [UEnvQueryContext](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryContext)


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


class UEnvQueryContext_Item : public [UEnvQueryContext](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryContext)


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


class UEnvQueryContext_Querier : public [UEnvQueryContext](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryContext)


namespace EEnvDirection { enum Type { TwoPoints, Rotation, } }


namespace EEnvItemStatus { enum Type { Passed, Failed, } }


namespace EEnvOverlapShape { enum Type { Box, Sphere, Capsule, } }


namespace EEnvQueryParam { enum Type { Float, Int, Bool, } }


namespace EEnvQueryRunMode { enum Type { SingleResult, RandomBest5Pct, RandomBest25Pct, AllMatching, } }


namespace EEnvQueryStatus { enum Type { Processing, Success, Failed, Aborted, OwnerLost, MissingParam, } }


namespace EEnvQueryTestClamping { enum Type { None, SpecifiedValue, FilterThreshold, } }


namespace EEnvQueryTrace { enum Type { None, Navigation, GeometryByChannel, GeometryByProfile, NavigationOverLedges, } }


namespace EEnvTestCost { enum Type { Low, Medium, High, } }


namespace EEnvTestFilterOperator { enum Type { AllPass, AnyPass, } }


namespace EEnvTestFilterType { enum Type { Minimum, Maximum, Range, Match, } }


namespace EEnvTestScoreEquation { enum Type { Linear, Square, InverseLinear, SquareRoot, Constant, } }


namespace EEnvTestPurpose { enum Type { Filter, Score, FilterAndScore, } }


namespace EEnvTestScoreOperator { enum Type { AverageScore, MinScore, MaxScore, Multiply, } }


namespace EEnvTestWeight { enum Type { None, Square, Inverse, Unused, Constant, Skip, } }


namespace EEnvTraceShape { enum Type { Line, Box, Sphere, Capsule, } }


static void GenerateConfigurableParamsFromNamedValues ( [UObject](API\Runtime\CoreUObject\UObject\UObject) & QueryOwner, [TArray](API\Runtime\Core\Containers\TArray)< [FAIDynamicParam](API\Runtime\AIModule\EnvironmentQuery\FAIDynamicParam) > & OutQueryConfig, [TArray](API\Runtime\Core\Containers\TArray)< [FEnvNamedValue](API\Runtime\AIModule\EnvironmentQuery\FEnvNamedValue) > & InQueryParams )


void ConfigureBBKey ( [UObject](API\Runtime\CoreUObject\UObject\UObject) & QueryOwner )


FDebugHelper ( FVector Loc, float R, const [FString](API\Runtime\Core\Containers\FString) & Desc )


Struct filled while collecting data (to store additional debug data needed to display per rendered item)


DirMode

Defines direction of second line used by test

LineFrom

Line: start context

LineTo

Line: finish context

Rotation

Rotation: direction context


bOnlyBlockingHits

If set, overlap will look only for blocking hits

bOverlapComplex

If set, overlap will run on complex collisions

bSkipOverlapQuerier

If set, overlap will skip querier context hits

ExtentX

Shape parameter for overlap

ExtentY

Shape parameter for overlap

ExtentZ

Shape parameter for overlap

OverlapChannel

Geometry trace channel used for overlap

OverlapShape

Shape used for geometry overlap


NumValues

Number of stored values

RawData

Data of stored values

ValueType

Type of context values


void PrepareOption ( const [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance, const [TArray](API\Runtime\Core\Containers\TArray)< [UEnvQueryGenerator](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryGenerator) * > & Generators, const int32 NumTests )


void Store ( const [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance, const float ExecutionTime, const bool bStepDone )


struct FEnvQueryDebugData : public [FEnvQueryDebugProfileData](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryDebugProfileData)

bSingleItemResult

Indicates the query was run in a single-item mode and that it has been found

CurrentOptionGeneratorIdx

Composite generator can be counted correctly


void Add ( const [FEnvQueryDebugProfileData](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryDebugProfileData) & Other )


Setup data


Runtime stats, can be merged


template<typename TypeItem> void AddItemData ( typename TypeItem::FValueType ItemValue )


AddItemData specialization for arrays if values

template<typename TypeItem> void AddItemData ( [TArray](API\Runtime\Core\Containers\TArray)< typename TypeItem::FValueType > & ItemCollection )


template<typename TypeItem, typename TypeValue> void AddItemData ( TypeValue ItemValue )


A specialization to support saving locations with navigation data already gathered

template<> void AddItemData ( FVector ItemValue )


template<typename TypeItem, typename TypeValue> void AddItemData ( [TArray](API\Runtime\Core\Containers\TArray)< TypeValue > & ItemCollection )


static bool bDebuggingInfoEnabled = true;


Check if current test can batch its calculations


Execute single step of query

void ExecuteOneStep ( double TimeLimit )


FConstItemIterator &40; FEnvQueryInstance & QueryInstance, int32 StartingItemIndex &41;


Prepare item data after generator has finished


Note that this iterator is for read-only purposes. Please useFItemIteratorfor regular item iteration while performing EQS testing and scoring


Update costs and flags after test has finished


Final pass on items of finished query


Force state and score of item Any following SetScore calls for current item will be ignored

void ForceItemState &40; const EEnvItemStatus::Type InStatus, const float Score &41;


Disables time slicing for this iterator, use with caution!


Filter and score an item - used by tests working on float values (can be called multiple times for single item when processing contexts with multiple entries) NOTE: The Score is the raw score, before clamping, normalizing, and multiplying by weight. The FilterMin and FilterMax values are ONLY used for filtering (if any).

void SetScore &40; EEnvTestPurpose::Type TestPurpose, EEnvTestFilterType::Type FilterType, float Score, float FilterMin, float FilterMax &41;


Filter and score an item - used by tests working on bool values (can be called multiple times for single item when processing contexts with multiple entries)

void SetScore &40; EEnvTestPurpose::Type TestPurpose, EEnvTestFilterType::Type FilterType, bool bScore, bool bExpected &41;


void SetScoreInternal &40; float Score &41;


FItemIterator &40; const UEnvQueryTest &42; QueryTest, FEnvQueryInstance & QueryInstance, int32 StartingItemIndex &41;


struct FItemIterator : public [FEnvQueryInstance::FConstItemIterator](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance\FConstItemIterator)


Describe for logging purposes what the query spent time on


Normalize total score in range 0..1


Pick one of items with score equal or higher than specified

void PickRandomItemOfScoreAtLeast ( float MinScore )


Discard all items but one


Update context cache

bool PrepareContext ( [UClass](API\Runtime\CoreUObject\UObject\UClass) * Context, [FEnvQueryContextData](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryContextData) & ContextData )


void Log ( const [FString](API\Runtime\Core\Containers\FString) Msg ) const


Helpers for reading spatial data from context

bool PrepareContext ( [UClass](API\Runtime\CoreUObject\UObject\UClass) * Context, [TArray](API\Runtime\Core\Containers\TArray)< [FEnvQuerySpatialData](API\Runtime\AIModule\EnvironmentQuery\FEnvQuerySpatialData) > & Data )


Update context cache

bool PrepareContext ( [UClass](API\Runtime\CoreUObject\UObject\UClass) * Context, [TArray](API\Runtime\Core\Containers\TArray)< FRotator > & Data )


Update context cache

bool PrepareContext ( [UClass](API\Runtime\CoreUObject\UObject\UClass) * Context, [TArray](API\Runtime\Core\Containers\TArray)< FVector > & Data )


Helpers for reading actor data from context

bool PrepareContext ( [UClass](API\Runtime\CoreUObject\UObject\UClass) * Context, [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & Data )


Raw data operations

void ReserveItemData ( int32 NumAdditionalItems )


Sort all scores, from highest to lowest


Removes all runtime data that can be used for debugging (not a part of actual query result)


struct FEnvQueryInstance : public [FEnvQueryResult](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryResult)

bFoundSingleResult

Used to breaking from item iterator loops

bHasLoggedTimeLimitWarning

True if this query has logged a warning that it overran the time limit

bPassOnSingleResult

Set when testing final condition of an option

bStoreDebugInfo

Set to true to store additional debug info

ContextCache

Contexts in use

CurrentTest

Currently processed test (-1 = generator)

CurrentTestStartingItem

Non-zero if test run last step has been stopped mid-process.

FinishDelegate

Observer's delegate

GenerationTimeWarningSeconds

Maximum EQS Generator duration (in seconds) before a warning is reported in non-shipping build.

ItemDetails

List of item details

ItemTypeActorCDO

Item type's CDO for actor tests

ItemTypeVectorCDO

Item type's CDO for location tests

Mode

Run mode

NamedParams

Execution params

NumProcessedItems

Number of items processed in current step

NumValidItems

Number of valid items on list

Options

List of options

QueryName

Short name of query template - friendly name for debugging

StartTime

Timestamp of creating query instance

TotalExecutionTime

Time spent executing this query

UniqueName

Unique name of query template - object name

ValueSize

Size of current value

World

World owning this query instance


Cache of instances with sorted tests

AssetName

The name of the source query

Instance

Instance to duplicate

Template

Query template, duplicated in manager's world


FEnvQueryInstance ( const [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & Other )


bool operator< ( const [FEnvQueryItem](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryItem) & Other ) const


bIsDiscarded

Has this item been discarded?

DataOffset

Raw data offset

Score

Total score of item


FEnvQueryItemDetails ( int32 NumTests, int32 InItemIndex )


Detailed information about item, used by tests

TestResults

Results assigned by option's tests, before any modifications

TestWeightedScores

Results assigned by option's tests, after applying modifiers, normalization and weight


Wrapper to hold config variables

bTestQueriesUsingBreadth

Whether we update EQS queries based on: running a test on one query and move to the next (breadth) - default behavior, or test an entire query before moving to the next one (depth).

ExecutionTimeWarningSeconds

Maximum EQS execution duration (in seconds) before a warning is reported.

GenerationTimeWarningSeconds

Maximum EQS Generator duration (in seconds) before a warning is reported.

HandlingResultTimeWarningSeconds

Maximum EQS Query FinishDelegate duration (in seconds) before a warning is reported.

MaxAllowedTestingTime

How long are we allowed to test per update, in seconds.

QueryCountWarningInterval

How often (in seconds) we will warn about the number of queries (allows us to catch multiple occurrences in a session)

QueryCountWarningThreshold

If greater than zero, we will warn once when the number of queries is greater than or equal to this number, and log the queries out


bHasNavLocations

If set, items will be shuffled after tests

Generator

Generator object, raw pointer can be used safely because it will be always referenced by EnvQueryManager

ItemType

Type of generated items

SourceOptionIndex

Index of option in source asset

Tests

Test objects, raw pointer can be used safely because it will be always referenced by EnvQueryManager


int32 Execute ( [EEnvQueryRunMode::Type](API\Runtime\AIModule\EnvironmentQuery\EEnvQueryRunMode__Type) RunMode, FQueryFinishedSignature const & FinishDelegate )


template<class UserClass> int32 Execute ( [EEnvQueryRunMode::Type](API\Runtime\AIModule\EnvironmentQuery\EEnvQueryRunMode__Type) Mode, UserClass * InObj, typename FQueryFinishedSignature::TMethodPtr< UserClass > InMethod )


template<class UserClass> int32 Execute ( [EEnvQueryRunMode::Type](API\Runtime\AIModule\EnvironmentQuery\EEnvQueryRunMode__Type) Mode, UserClass * InObj, typename FQueryFinishedSignature::TConstMethodPtr< UserClass > InMethod )


Set names param indicated by Param. If Param is configured to read values from a blackboard then BlackboardComponent is expected to be non-null (the function will fail a check otherwise).

[FEnvQueryRequest](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryRequest) & SetDynamicParam ( const [FAIDynamicParam](API\Runtime\AIModule\EnvironmentQuery\FAIDynamicParam) & Param, const [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) * BlackboardComponent )


[FEnvQueryRequest](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryRequest) & SetBoolParam ( [FName](API\Runtime\Core\UObject\FName) ParamName, bool Value )


Set named params

[FEnvQueryRequest](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryRequest) & SetFloatParam ( [FName](API\Runtime\Core\UObject\FName) ParamName, float Value )


[FEnvQueryRequest](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryRequest) & SetNamedParam ( const [FEnvNamedValue](API\Runtime\AIModule\EnvironmentQuery\FEnvNamedValue) & ParamData )


[FEnvQueryRequest](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryRequest) & SetIntParam ( [FName](API\Runtime\Core\UObject\FName) ParamName, int32 Value )


[FEnvQueryRequest](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryRequest) & SetNamedParams ( const [TArray](API\Runtime\Core\Containers\TArray)< [FEnvNamedValue](API\Runtime\AIModule\EnvironmentQuery\FEnvNamedValue) > & Params )


Set world (for accessing query manager) when owner can't provide it

[FEnvQueryRequest](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryRequest) & SetWorldOverride ( [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld )


Use when owner is different from finish delegate binding

FEnvQueryRequest ( const [UEnvQuery](API\Runtime\AIModule\EnvironmentQuery\UEnvQuery) * Query, [UObject](API\Runtime\CoreUObject\UObject\UObject) * RequestOwner )


Basic constructor: owner will be taken from finish delegate bindings

FEnvQueryRequest ( const [UEnvQuery](API\Runtime\AIModule\EnvironmentQuery\UEnvQuery) * Query )


Item accessors for basic types

[AActor](API\Runtime\Engine\GameFramework\AActor) * GetItemAsActor ( int32 Index ) const


Wrapper for easy query execution

NamedParams

List of named params

Owner

Querier

QueryTemplate

Query to run

World

World


void GetAllAsLocations ( [TArray](API\Runtime\Core\Containers\TArray)< FVector > & OutLocations ) const


FVector GetItemAsLocation ( int32 Index ) const


template<typename TItemType> const TItemType::FValueType & GetItemAsTypeChecked ( const int32 Index ) const


const uint8 * GetItemRawMemory ( const int32 Index ) const


float GetItemScore ( int32 Index ) const


Note that this function does not strip out the null-actors to not mess up results of GetItemScore(Index) calls

void GetAllAsActors ( [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & OutActors ) const


Deprecated*FEnvQueryResult::IsSuccsessfulis deprecated. UseFEnvQueryResult::IsSuccessfulinstead.


FEnvQueryResult ( const [EEnvQueryStatus::Type](API\Runtime\AIModule\EnvironmentQuery\EEnvQueryStatus__Type) & InStatus )


ItemType

Type of generated items

OptionIndex

Index of query option, that generated items

Owner

Instance owner.

QueryID

Instance ID

RawData

Raw data of items


Used for built-in functions (


enum EDescriptionMode { Brief, Detailed, }


[FText](API\Runtime\Core\Internationalization\FText) ToText ( [EDescriptionMode](API\Runtime\AIModule\EnvironmentQuery\FEnvTraceData\EDescriptionMode) DescMode ) const


bCanDisableTrace

If set, editor will allow

bCanProjectDown

If set, editor show height up/down properties for projection

bCanTraceOnGeometry

If set, editor will allow picking geometry trace

bCanTraceOnNavMesh

If set, editor will allow picking navmesh trace

bOnlyBlockingHits

If set, trace will look only for blocking hits

bTraceComplex

If set, trace will run on complex collisions

ExtentX

Shape parameter for trace

ExtentY

Shape parameter for trace

ExtentZ

Shape parameter for trace

NavigationFilter

Navigation filter for tracing

PostProjectionVerticalOffset

This value will be added to resulting location's Z axis.

ProjectDown

Search height: below point

ProjectUp

Search height: above point

SerializedChannel

Geometry trace channel for serialization purposes

TraceChannel

Geometry trace channel

TraceMode

Shape used for geometry tracing

TraceProfileName

Geometry trace profile

TraceShape

Shape used for geometry tracing

VersionNum

Version number for updates


MostExpensive

Most expensive run

TickPct

EQS tick load.

TotalAvgData

Average run (sum of all runs, divide by TotalAvgCount to get values)


const [TArray](API\Runtime\Core\Containers\TArray)< [FEnvQueryInfo](API\Runtime\AIModule\EnvironmentQuery\FEQSDebugger\FEnvQueryInfo) > & GetAllQueriesForOwner ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner )


static void SaveStats ( const [FString](API\Runtime\Core\Containers\FString) & FileName )


static void LoadStats ( const [FString](API\Runtime\Core\Containers\FString) & FileName )


void StoreQuery ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) > & QueryInstance )


void StoreStats ( const [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance )


void StoreTickTime ( const [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance, double TickTime, double MaxTickTime )


StoredQueries

Maps owner to performed queries

StoredStats

Map query name with profiler data


namespace FEQSHelpers { const [ANavigationData](API\Runtime\NavigationSystem\ANavigationData) * FEQSHelpers::FindNavigationDataForQuery ( [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance ) }


int32 Execute ( [UObject](API\Runtime\CoreUObject\UObject\UObject) & QueryOwner, const [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) * BlackboardComponent, FQueryFinishedSignature & QueryFinishedDelegate )


void InitForOwnerAndBlackboard ( [UObject](API\Runtime\CoreUObject\UObject\UObject) & Owner, [UBlackboardData](API\Runtime\AIModule\BehaviorTree\UBlackboardData) * BBAsset )


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


EQSQueryBlackboardKey

Blackboard key storing an EQS query template

RunMode

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


This struct is now deprecated, please useFEnvQueryDebugDatainstead.

struct FEQSQueryDebugData : public [FEnvQueryDebugData](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryDebugData)


virtual void DrawDebugLabels ( [UCanvas](API\Runtime\Engine\Engine\UCanvas) * Canvas, [APlayerController](API\Runtime\Engine\GameFramework\APlayerController) * )


void SetupFromProxy ( const [FEQSSceneProxy](API\Runtime\AIModule\EnvironmentQuery\FEQSSceneProxy) * InSceneProxy )


class FEQSRenderingDebugDrawDelegateHelper : public [FDebugDrawDelegateHelper](API\Runtime\Engine\FDebugDrawDelegateHelper)


static void CollectEQSData ( const [FEnvQueryResult](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryResult) * ResultItems, const [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) * QueryInstance, float HighlightRangePct, bool ShouldDrawFailedItems, [TArray](API\Runtime\Core\Containers\TArray)< [FSphere](API\Runtime\Engine\FDebugRenderSceneProxy\FSphere) > & Spheres, [TArray](API\Runtime\Core\Containers\TArray)< [FText3d](API\Runtime\Engine\FDebugRenderSceneProxy\FText3d) > & Texts, [TArray](API\Runtime\Core\Containers\TArray)< [EQSDebug::FDebugHelper](API\Runtime\AIModule\EnvironmentQuery\FDebugHelper) > & DebugItems )


static void CollectEQSData ( const [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * InComponent, const [IEQSQueryResultSourceInterface](API\Runtime\AIModule\EnvironmentQuery\IEQSQueryResultSourceInterface) * QueryDataSource, [TArray](API\Runtime\Core\Containers\TArray)< [FSphere](API\Runtime\Engine\FDebugRenderSceneProxy\FSphere) > & Spheres, [TArray](API\Runtime\Core\Containers\TArray)< [FText3d](API\Runtime\Engine\FDebugRenderSceneProxy\FText3d) > & Texts, [TArray](API\Runtime\Core\Containers\TArray)< [EQSDebug::FDebugHelper](API\Runtime\AIModule\EnvironmentQuery\FDebugHelper) > & DebugItems )


Return a type (or subtype) specific hash for sorting purposes


Determines the relevance of this primitive's elements to the given view. Called in the rendering thread.
The relevance of the primitive's elements to the view.

virtual [FPrimitiveViewRelevance](API\Runtime\Engine\FPrimitiveViewRelevance) GetViewRelevance ( const [FSceneView](API\Runtime\Engine\FSceneView) * View ) const


FEQSSceneProxy ( const [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) & InComponent, const [FString](API\Runtime\Core\Containers\FString) & ViewFlagName, const [TArray](API\Runtime\Core\Containers\TArray)< [FSphere](API\Runtime\Engine\FDebugRenderSceneProxy\FSphere) > & Spheres, const [TArray](API\Runtime\Core\Containers\TArray)< [FText3d](API\Runtime\Engine\FDebugRenderSceneProxy\FText3d) > & Texts )


class FEQSSceneProxy : public [FDebugRenderSceneProxy](API\Runtime\Engine\FDebugRenderSceneProxy)


virtual void GenerateItems ( [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance ) const


virtual [FText](API\Runtime\Core\Internationalization\FText) GetDescriptionTitle() const


virtual [FText](API\Runtime\Core\Internationalization\FText) GetDescriptionDetails() const


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


class UEnvQueryGenerator_CurrentLocation : public [UEnvQueryGenerator](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryGenerator)

QueryContext

Context


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


bool operator&40;&41; &40; const FNavLocation & A, const FNavLocation & B &41; const


Gathers actors perceived by context

class UEnvQueryGenerator_PerceivedActors : public [UEnvQueryGenerator](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryGenerator)

AllowedActorClass

If set will be used to filter results

bIncludeKnownActors

Indicates whether to include all actors known via perception (TRUE) or just the ones actively being perceived at the moment (example "currently visible" as opposed to "seen and the perception stimulus haven't expired yet").

ListenerContext

The perception listener to use as a source of information

SearchRadius

Additional distance limit imposed on the items generated. Perception's range limit still applies.

SenseToUse

If set will be used to filter gathered results so that only actors perceived with a given sense are considered


FSortByHeight &40; const FVector & OriginalPt &41;


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.


Store points as generator's result

virtual void StoreNavPoints ( const [TArray](API\Runtime\Core\Containers\TArray)< [FNavLocation](API\Runtime\Engine\AI\Navigation\FNavLocation) > & Points, [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance ) const


Project all points in array and remove those outside navmesh

virtual void ProjectAndFilterNavPoints ( [TArray](API\Runtime\Core\Containers\TArray)< [FNavLocation](API\Runtime\Engine\AI\Navigation\FNavLocation) > & Points, [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance ) const


class UEnvQueryGenerator_ProjectedPoints : public [UEnvQueryGenerator](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryGenerator)

ProjectionData

Trace params


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


virtual void ProcessItems ( [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance, [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & MatchingActors ) const


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


class UEnvQueryGenerator_ActorsOfClass : public [UEnvQueryGenerator](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryGenerator)

GenerateOnlyActorsInRadius

If true, this will only returns actors of the specified class within the SearchRadius of the SearchCenter context.

SearchCenter

Context

SearchRadius

Max distance of path between point and context.


void AddGeneratedActor ( [AActor](API\Runtime\Engine\GameFramework\AActor) * GeneratedActor ) const


void AddGeneratedVector ( FVector GeneratedVector ) const


void DoItemGenerationFromActors ( const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & ContextActors ) const


void DoItemGeneration ( const [TArray](API\Runtime\Core\Containers\TArray)< FVector > & ContextLocations ) const


enum ECallMode { Invalid, FromVectors, FromActors, }


virtual void GenerateItems ( [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance ) const


virtual [FText](API\Runtime\Core\Internationalization\FText) GetDescriptionDetails() const


virtual [FText](API\Runtime\Core\Internationalization\FText) GetDescriptionTitle() const


virtual [UWorld](API\Runtime\Engine\Engine\UWorld) * GetWorld() const


[UObject](API\Runtime\CoreUObject\UObject\UObject) * GetQuerier() const


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.


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


class UEnvQueryGenerator_BlueprintBase : public [UEnvQueryGenerator](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryGenerator)

Context

Context

GeneratorsActionDescription

A short description of what test does, like "Generate pawn named Joe"


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


Composite generator allows using multiple generators in single query option All child generators must produce exactly the same item type!

class UEnvQueryGenerator_Composite : public [UEnvQueryGenerator](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryGenerator)

bAllowDifferentItemTypes

Allow generators with different item types, use at own risk!


Returns the details of the generator on the corresponding node in the EQS Editor window


Returns the title of the generator on the corresponding node in the EQS Editor window


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


class UEnvQueryGenerator_Cone : public [UEnvQueryGenerator_ProjectedPoints](API\Runtime\AIModule\EnvironmentQuery\Generators\UEnvQueryGenerat-_2)

AlignedPointsDistance

Distance between each point of the same angle

AngleStep

The step of the angle increase. Angle step must be >=1 Smaller values generate less items

bIncludeContextLocation

Whether to include CenterActors' locations when generating items.

CenterActor

The actor (or actors) that will generate a cone in their facing direction

ConeDegrees

Maximum degrees of the generated cone

Range

Generation distance


[FVector::FReal](API\Runtime\Core\Math\TVector\FReal) GetArcBisectorAngle ( [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance ) const


Binds data to data providers

void BindDataToDataProviders ( [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance ) const


bool IsAngleAllowed ( [FVector::FReal](API\Runtime\Core\Math\TVector\FReal) TestAngleRad, [FVector::FReal](API\Runtime\Core\Math\TVector\FReal) BisectAngleDeg, [FVector::FReal](API\Runtime\Core\Math\TVector\FReal) AngleRangeDeg, bool bConstrainAngle ) const


Called when a property on this object has been modified externally

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


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


class UEnvQueryGenerator_Donut : public [UEnvQueryGenerator_ProjectedPoints](API\Runtime\AIModule\EnvironmentQuery\Generators\UEnvQueryGenerat-_2)

ArcAngle

If you generate items on a piece of circle you define angle of Arc cut here

ArcDirection

If you generate items on a piece of circle you define direction of Arc cut here

bUseSpiralPattern

If true, the rings of the wheel will be rotated in a spiral pattern.

Center

Context

InnerRadius

Min distance between point and context

NumberOfRings

Number of rings to generate

OuterRadius

Max distance between point and context

PointsPerRing

Number of items to generate for each ring


virtual void AddItemDataForCircle ( uint8 * ContextRawData, [UEnvQueryItemType](API\Runtime\AIModule\EnvironmentQuery\Items\UEnvQueryItemType) * ContextItemType, const [TArray](API\Runtime\Core\Containers\TArray)< [FNavLocation](API\Runtime\Engine\AI\Navigation\FNavLocation) > & Locations, [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & OutQueryInstance ) const


FVector CalcDirection ( [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance ) const


virtual void GenerateItems ( [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance ) const


void GenerateItemsForCircle ( uint8 * ContextRawData, [UEnvQueryItemType](API\Runtime\AIModule\EnvironmentQuery\Items\UEnvQueryItemType) * ContextItemType, const FVector & CenterLocation, const FVector & StartDirection, const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & IgnoredActors, int32 StepsCount, float AngleStep, [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & OutQueryInstance ) const


virtual [FText](API\Runtime\Core\Internationalization\FText) GetDescriptionDetails() const


virtual [FText](API\Runtime\Core\Internationalization\FText) GetDescriptionTitle() const


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


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.


class UEnvQueryGenerator_OnCircle : public [UEnvQueryGenerator_ProjectedPoints](API\Runtime\AIModule\EnvironmentQuery\Generators\UEnvQueryGenerat-_2)

Ignore tracing into context actors when generating the circle

CircleCenter

Context

CircleCenterZOffset

Context offset

CircleRadius

Max distance of path between point and context

NumberOfPoints

This many items will be generated on a circle

PointOnCircleSpacingMethod

How we are choosing where the points are in the circle

SpaceBetween

Items will be generated on a circle this much apart

TraceData

Horizontal trace for nearest obstacle


Project all points in array and remove those outside navmesh

virtual void ProjectAndFilterNavPoints ( [TArray](API\Runtime\Core\Containers\TArray)< [FNavLocation](API\Runtime\Engine\AI\Navigation\FNavLocation) > & Points, [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance ) const


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


Navigation grid, generates points on navmesh with paths to/from context no further than given limit

class UEnvQueryGenerator_PathingGrid : public [UEnvQueryGenerator_SimpleGrid](API\Runtime\AIModule\EnvironmentQuery\Generators\UEnvQueryGenerator_SimpleGrid)

NavigationFilter

Navigation filter to use in pathfinding

PathToItem

Pathfinding direction

ScanRangeMultiplier

Multiplier for max distance between point and context


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


Simple grid, generates points in 2D square around context

class UEnvQueryGenerator_SimpleGrid : public [UEnvQueryGenerator_ProjectedPoints](API\Runtime\AIModule\EnvironmentQuery\Generators\UEnvQueryGenerat-_2)

GenerateAround

Context

GridSize

Half of square's extent, like a radius

SpaceBetween

Generation density


virtual float GetHighlightRangePct&40;&41; const


virtual const FEnvQueryInstance &42; GetQueryInstance&40;&41; const


virtual const FEnvQueryResult &42; GetQueryResult&40;&41; const


Debugging

virtual bool GetShouldDebugDrawLabels&40;&41; const


virtual bool GetShouldDrawFailedItems&40;&41; const


Add filters for blackboard key selector

virtual void AddBlackboardFilters ( [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & KeySelector, [UObject](API\Runtime\CoreUObject\UObject\UObject) * FilterOwner ) const


Unregister from known types in EnvQueryManager


Every EQS item type needs to speficy data type it's using. Default is void which should trigger a compilation error if it's not set in a defived class


Describe item

virtual [FString](API\Runtime\Core\Containers\FString) GetDescription ( const uint8 * RawData ) const


Helper function for reading typed data from memory block

template<typename T> static const T & GetValueFromMemory ( const uint8 * MemoryBlock )


Get ValueSize


Helper function for writing typed data to memory block

template<typename T> static void SetValueInMemory ( uint8 * MemoryBlock, const T & Value )


Store value in blackboard entry

virtual bool StoreInBlackboard ( [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & KeySelector, [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) * Blackboard, const uint8 * RawData ) const


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


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

ValueSize

Size of value for this type


typedef const [FWeakObjectPtr](API\Runtime\CoreUObject\UObject\FWeakObjectPtr) & FValueType


virtual [AActor](API\Runtime\Engine\GameFramework\AActor) * GetActor ( const uint8 * RawData ) const


virtual FVector GetItemLocation ( const uint8 * RawData ) const


virtual FRotator GetItemRotation ( const uint8 * RawData ) const


static [AActor](API\Runtime\Engine\GameFramework\AActor) * GetValue ( const uint8 * RawData )


static void SetContextHelper ( [FEnvQueryContextData](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryContextData) & ContextData, const [AActor](API\Runtime\Engine\GameFramework\AActor) * SingleActor )


static void SetContextHelper ( [FEnvQueryContextData](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryContextData) & ContextData, const [TArray](API\Runtime\Core\Containers\TArray)< const [AActor](API\Runtime\Engine\GameFramework\AActor) * > & MultipleActors )


static void SetContextHelper ( [FEnvQueryContextData](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryContextData) & ContextData, const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & MultipleActors )


static void SetValue ( uint8 * RawData, const [FWeakObjectPtr](API\Runtime\CoreUObject\UObject\FWeakObjectPtr) & Value )


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


class UEnvQueryItemType_Actor : public [UEnvQueryItemType_ActorBase](API\Runtime\AIModule\EnvironmentQuery\Items\UEnvQueryItemType_ActorBase)


Add filters for blackboard key selector

virtual void AddBlackboardFilters ( [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & KeySelector, [UObject](API\Runtime\CoreUObject\UObject\UObject) * FilterOwner ) const


Describe item

virtual [FString](API\Runtime\Core\Containers\FString) GetDescription ( const uint8 * RawData ) const


Store value in blackboard entry


class UEnvQueryItemType_ActorBase : public [UEnvQueryItemType_VectorBase](API\Runtime\AIModule\EnvironmentQuery\Items\UEnvQueryItemType_VectorBase)


Describe item


static FVector GetValue ( const uint8 * RawData )


static FRotator GetValueRot ( const uint8 * RawData )


static void SetContextHelper ( [FEnvQueryContextData](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryContextData) & ContextData, const FVector & SingleDirection )


static void SetContextHelper ( [FEnvQueryContextData](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryContextData) & ContextData, const FRotator & SingleRotation )


static void SetContextHelper ( [FEnvQueryContextData](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryContextData) & ContextData, const [TArray](API\Runtime\Core\Containers\TArray)< FVector > & MultipleDirections )


static void SetContextHelper ( [FEnvQueryContextData](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryContextData) & ContextData, const [TArray](API\Runtime\Core\Containers\TArray)< FRotator > & MultipleRotations )


static void SetValue ( uint8 * RawData, const FVector & Value )


static void SetValueRot ( uint8 * RawData, const FRotator & Value )


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


class UEnvQueryItemType_Direction : public [UEnvQueryItemType_VectorBase](API\Runtime\AIModule\EnvironmentQuery\Items\UEnvQueryItemType_VectorBase)


typedef const [FNavLocation](API\Runtime\Engine\AI\Navigation\FNavLocation) FValueType


virtual FVector GetItemLocation ( const uint8 * RawData ) const


virtual [FNavLocation](API\Runtime\Engine\AI\Navigation\FNavLocation) GetItemNavLocation ( const uint8 * RawData ) const


static [FNavLocation](API\Runtime\Engine\AI\Navigation\FNavLocation) GetValue ( const uint8 * RawData )


static void SetContextHelper ( [FEnvQueryContextData](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryContextData) & ContextData, const FVector & SinglePoint )


static void SetContextHelper ( [FEnvQueryContextData](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryContextData) & ContextData, const [TArray](API\Runtime\Core\Containers\TArray)< FVector > & MultiplePoints )


Update location data in existing item

virtual void SetItemNavLocation ( uint8 * RawData, const [FNavLocation](API\Runtime\Engine\AI\Navigation\FNavLocation) & Value ) const


static void SetValue ( uint8 * RawData, const [FNavLocation](API\Runtime\Engine\AI\Navigation\FNavLocation) & Value )


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


class UEnvQueryItemType_Point : public [UEnvQueryItemType_VectorBase](API\Runtime\AIModule\EnvironmentQuery\Items\UEnvQueryItemType_VectorBase)


Add filters for blackboard key selector

virtual void AddBlackboardFilters ( [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & KeySelector, [UObject](API\Runtime\CoreUObject\UObject\UObject) * FilterOwner ) const


Describe item

virtual [FString](API\Runtime\Core\Containers\FString) GetDescription ( const uint8 * RawData ) const


virtual FRotator GetItemRotation ( const uint8 * RawData ) const


Store value in blackboard entry

virtual bool StoreInBlackboard ( [FBlackboardKeySelector](API\Runtime\AIModule\BehaviorTree\FBlackboardKeySelector) & KeySelector, [UBlackboardComponent](API\Runtime\AIModule\BehaviorTree\UBlackboardComponent) * Blackboard, const uint8 * RawData ) const


class UEnvQueryItemType_VectorBase : public [UEnvQueryItemType](API\Runtime\AIModule\EnvironmentQuery\Items\UEnvQueryItemType)


namespace EEnvTestDistance { enum Type { Distance3D, Distance2D, DistanceZ, DistanceAbsoluteZ, } }


namespace EEnvTestPathfinding { enum Type { PathExist, PathCost, PathLength, } }


virtual [FText](API\Runtime\Core\Internationalization\FText) GetDescriptionDetails() const


virtual [FText](API\Runtime\Core\Internationalization\FText) GetDescriptionTitle() const


Function that does the actual work

virtual void RunTest ( [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance ) const


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


Helper function: gather directions from context

void GatherLineDirections ( [TArray](API\Runtime\Core\Containers\TArray)< FVector > & Directions, [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance, const FRotator & ItemRotation, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UEnvQueryContext](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryContext) > LineDirection ) const


class UEnvQueryTest_Distance : public [UEnvQueryTest](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryTest)

DistanceTo

Context

TestMode

Testing mode


Helper function: gather directions from context pairs

void GatherLineDirections ( [TArray](API\Runtime\Core\Containers\TArray)< FVector > & Directions, [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance, const FVector & ItemLocation, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UEnvQueryContext](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryContext) > LineFrom, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UEnvQueryContext](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryContext) > LineTo ) const


Helper function: gather directions from proper contexts

void GatherLineDirections ( [TArray](API\Runtime\Core\Containers\TArray)< FVector > & Directions, [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UEnvQueryContext](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryContext) > LineFrom, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UEnvQueryContext](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryContext) > LineTo, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UEnvQueryContext](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryContext) > LineDirection, bool bUseDirectionContext, const FVector & ItemLocation, const FRotator & ItemRotation ) const


Helper function: check if contexts are updated per item

bool RequiresPerItemUpdates ( [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UEnvQueryContext](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryContext) > LineFrom, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UEnvQueryContext](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryContext) > LineTo, [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [UEnvQueryContext](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryContext) > LineDirection, bool bUseDirectionContext ) const


Function that does the actual work


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


class UEnvQueryTest_Dot : public [UEnvQueryTest](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryTest)

bAbsoluteValue

If true, this test uses the absolute value of the dot product rather than the dot product itself.

LineA

Defines direction of first line used by test

LineB

Defines direction of second line used by test


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.


Deprecated* Use version that takesFObjectPreSaveContextinstead.

virtual PRAGMA_DISABLE_DEPRECATION_WARNINGSvoid PreSave ( const class [ITargetPlatform](API\Developer\TargetPlatform\Interfaces\ITargetPlatform) * TargetPlatform )


Objects created from within PreSave will NOT have PreSave called on them!!!

virtual void PreSave ( [FObjectPreSaveContext](API\Runtime\CoreUObject\UObject\FObjectPreSaveContext) ObjectSaveContext )


bool SatisfiesTest ( const [IGameplayTagAssetInterface](API\Runtime\GameplayTags\IGameplayTagAssetInterface) * ItemGameplayTagAssetInterface ) const


Calling function only makes sense before first run of given query by the EQS manager. The query gets preprocessed and cached then so the query value will get stored and calling this function will not change it (unless you call it on the cached test's instance, seeUEnvQueryManager::CreateQueryInstance).

void SetTagQueryToMatch ( [FGameplayTagQuery](API\Runtime\GameplayTags\FGameplayTagQuery) & GameplayTagQuery )


EnvQueryTest_GameplayTags attempts to cast items toIGameplayTagAssetInterfaceand test their tags with TagQueryToMatch. The behavior of IGameplayTagAssetInterface-less items is configured by bRejectIncompatibleItems.

class UEnvQueryTest_GameplayTags : public [UEnvQueryTest](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryTest)

bRejectIncompatibleItems

When set to True, actors that do not implement the interface will be ignored, meaning they will not be scored and will not be considered when filtering.

bUpdatedToUseQuery

Used to determine whether the file format needs to be updated to move data into TagQueryToMatch or not.

GameplayTags

Deprecated property. Used only to load old data into TagQueryToMatch.


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


virtual [FText](API\Runtime\Core\Internationalization\FText) GetDescriptionDetails() const


bool RunOverlap ( const FVector & ItemPos, const [FCollisionShape](API\Runtime\PhysicsCore\FCollisionShape) & CollisionShape, const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & IgnoredActors, [UWorld](API\Runtime\Engine\Engine\UWorld) * World, enum ECollisionChannel Channel, const [FCollisionQueryParams](API\Runtime\Engine\FCollisionQueryParams) & Params ) const


virtual [FText](API\Runtime\Core\Internationalization\FText) GetDescriptionTitle() const


bool RunOverlapBlocking ( const FVector & ItemPos, const [FCollisionShape](API\Runtime\PhysicsCore\FCollisionShape) & CollisionShape, const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & IgnoredActors, [UWorld](API\Runtime\Engine\Engine\UWorld) * World, enum ECollisionChannel Channel, const [FCollisionQueryParams](API\Runtime\Engine\FCollisionQueryParams) & Params ) const


Function that does the actual work

virtual void RunTest ( [FEnvQueryInstance](API\Runtime\AIModule\EnvironmentQuery\FEnvQueryInstance) & QueryInstance ) const


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


class UEnvQueryTest_Overlap : public [UEnvQueryTest](API\Runtime\AIModule\EnvironmentQuery\UEnvQueryTest)

OverlapData

Overlap data


typedef TBaseDelegate_SevenParams< float, const FVector &, const FVector &, [EPathFindingMode::Type](API\Runtime\NavigationSystem\EPathFindingMode__Type), const [ANavigationData](API\Runtime\NavigationSystem\ANavigationData) &, [UNavigationSystemV1](API\Runtime\NavigationSystem\UNavigationSystemV1) &, FSharedConstNavQueryFilter, const [UObject](API\Runtime\CoreUObject\UObject\UObject) * > FFindPathSignature


[ANavigationData](API\Runtime\NavigationSystem\ANavigationData) * FindNavigationData ( [UNavigationSystemV1](API\Runtime\NavigationSystem\UNavigationSystemV1) & NavSys, [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner ) const


float FindPathCostFrom ( const FVector & ItemPos, const FVector & ContextPos, [EPathFindingMode::Type](API\Runtime\NavigationSystem\EPathFindingMode__Type) Mode, const [ANavigationData](API\Runtime\NavigationSystem\ANavigationData) & NavData, [UNavigationSystemV1](API\Runtime\NavigationSystem\UNavigationSystemV1) & NavSys, FSharedConstNavQueryFilter NavFilter, const [UObject](API\Runtime\CoreUObject\UObject\UObject) * PathOwner ) const


float FindPathCostTo ( const FVector & ItemPos, const FVector & ContextPos, [EPathFindingMode::Type](API\Runtime\NavigationSystem\EPathFindingMode__Type) Mode, const [ANavigationData](API\Runtime\NavigationSystem\ANavigationData) & NavData, [UNavigationSystemV1](API\Runtime\NavigationSystem\UNavigationSystemV1) & NavSys, FSharedConstNavQueryFilter NavFilter, const [UObject](API\Runtime\CoreUObject\UObject\UObject) * PathOwner ) const


float FindPathLengthFrom ( const FVector & ItemPos, const FVector & ContextPos, [EPathFindingMode::Type](API\Runtime\NavigationSystem\EPathFindingMode__Type) Mode, const [ANavigationData](API\Runtime\NavigationSystem\ANavigationData) & NavData, [UNavigationSystemV1](API\Runtime\NavigationSystem\UNavigationSystemV1) & NavSys, FSharedConstNavQueryFilter NavFilter, const [UObject](API\Runtime\CoreUObject\UObject\UObject) * PathOwner ) const


float FindPathLengthTo ( const FVector & ItemPos, const FVector & ContextPos, [EPathFindingMode::Type](API\Runtime\NavigationSystem\EPathFindingMode__Type) Mode, const [ANavigationData](API\Runtime\NavigationSystem\ANavigationData) & NavData, [UNavigationSystemV1](API\Runtime\NavigationSystem\UNavigationSystemV1) & NavSys, FSharedConstNavQueryFilter NavFilter, const [UObject](API\Runtime\CoreUObject\UObject\UObject) * PathOwner ) const


typedef TBaseDelegate_SevenParams< bool, const FVector &, const FVector &, [EPathFindingMode::Type](API\Runtime\NavigationSystem\EPathFindingMode__Type), const [ANavigationData](API\Runtime\NavigationSystem\ANavigationData) &, [UNavigationSystemV1](API\Runtime\NavigationSystem\UNavigationSystemV1) &, FSharedConstNavQueryFilter, const [UObject](API\Runtime\CoreUObject\UObject\UObject) * > FTestPathSignature