UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
BehaviorTreeTypes.h File Reference
#include "Blackboard/BlackboardKey.h"
#include "CoreMinimal.h"
#include "Stats/Stats.h"
#include "UObject/ObjectMacros.h"
#include "UObject/Object.h"
#include "UObject/Class.h"
#include "InputCoreTypes.h"
#include "Templates/SubclassOf.h"
#include "BehaviorTreeTypes.generated.h"

Go to the source code of this file.

Classes

struct  TIsValidVariadicFunctionArg< FBlackboard::FKey >
 
struct  FBehaviorTreeParallelTask
 
struct  FBehaviorTreeDebuggerInstance
 
struct  FBehaviorTreeDebuggerInstance::FNodeFlowData
 
struct  FBehaviorTreeExecutionStep
 
struct  FBehaviorTreeInstanceId
 
struct  FBehaviorTreeInstance
 
struct  FBTNodeIndex
 
struct  FBTNodeIndexRange
 
struct  FBehaviorTreeSearchUpdate
 
struct  FBehaviorTreeSearchUpdateNotify
 
struct  FBehaviorTreeSearchData
 
struct  FBehaviorTreePropertyMemory
 
struct  FBlackboardKeySelector
 
class  UBehaviorTreeTypes
 
struct  FScopedBTLoggingContext
 

Namespaces

namespace  BTSpecialChild
 
namespace  EBTNodeResult
 
namespace  EBTExecutionMode
 
namespace  EBTStopMode
 
namespace  EBTMemoryInit
 
namespace  EBTMemoryClear
 
namespace  EBTFlowAbortMode
 
namespace  EBTActiveNode
 
namespace  EBTTaskStatus
 
namespace  EBTNodeUpdateMode
 
namespace  EBTExecutionSnap
 
namespace  EBTDescriptionVerbosity
 

Macros

#define BT_VLOG(Context, Verbosity, Format, ...)   UE_VLOG(Context->OwnerComp.IsValid() ? Context->OwnerComp->GetOwner() : NULL, LogBehaviorTree, Verbosity, Format, ##__VA_ARGS__)
 
#define BT_SEARCHLOG(SearchData, Verbosity, Format, ...)   UE_VLOG(SearchData.OwnerComp.GetOwner(), LogBehaviorTree, Verbosity, Format, ##__VA_ARGS__)
 
#define USE_BEHAVIORTREE_DEBUGGER   (1 && WITH_EDITORONLY_DATA)
 

Typedefs

using FOnBlackboardChangeNotification = TDelegate< EBlackboardNotificationResult(const UBlackboardComponent &, FBlackboard::FKey keyID), FNotThreadSafeNotCheckedDelegateUserPolicy >
 

Enumerations

enum class  EBlackboardNotificationResult : uint8 { RemoveObserver , ContinueObserving }
 
enum  EBTNodeResult::Type : int { EBTNodeResult::Succeeded , EBTNodeResult::Failed , EBTNodeResult::Aborted , EBTNodeResult::InProgress }
 
enum  EBTExecutionMode::Type { EBTExecutionMode::SingleRun , EBTExecutionMode::Looped }
 
enum  EBTStopMode::Type { EBTStopMode::Safe , EBTStopMode::Forced }
 
enum class  EBTRestartMode : uint8 { ForceReevaluateRootNode , CompleteRestart }
 
enum  EBTMemoryInit::Type { EBTMemoryInit::Initialize , EBTMemoryInit::RestoreSubtree }
 
enum  EBTMemoryClear::Type { EBTMemoryClear::Destroy , EBTMemoryClear::StoreSubtree }
 
enum  EBTFlowAbortMode::Type : int { EBTFlowAbortMode::UMETA =(DisplayName="Nothing") , EBTFlowAbortMode::UMETA =(DisplayName="Nothing") , EBTFlowAbortMode::UMETA =(DisplayName="Nothing") , EBTFlowAbortMode::UMETA =(DisplayName="Nothing") }
 
enum  EBTActiveNode::Type { EBTActiveNode::Composite , EBTActiveNode::ActiveTask , EBTActiveNode::AbortingTask , EBTActiveNode::InactiveTask }
 
enum  EBTTaskStatus::Type { EBTTaskStatus::Active , EBTTaskStatus::Aborting , EBTTaskStatus::Inactive }
 
enum  EBTNodeUpdateMode::Type { EBTNodeUpdateMode::Unknown , EBTNodeUpdateMode::Add , EBTNodeUpdateMode::Remove }
 
enum  EBTExecutionSnap::Type { EBTExecutionSnap::Regular , EBTExecutionSnap::OutOfNodes }
 
enum  EBTDescriptionVerbosity::Type { EBTDescriptionVerbosity::Basic , EBTDescriptionVerbosity::Detailed }
 
enum class  EBTNodeRelativePriority : uint8 { Lower , Same , Higher }
 

Functions

 DECLARE_STATS_GROUP (TEXT("Behavior Tree"), STATGROUP_AIBehaviorTree, STATCAT_Advanced)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("BT Tick"), STAT_AI_BehaviorTree_Tick, STATGROUP_AIBehaviorTree,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("BT Load Time"), STAT_AI_BehaviorTree_LoadTime, STATGROUP_AIBehaviorTree,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("BT Search Time"), STAT_AI_BehaviorTree_SearchTime, STATGROUP_AIBehaviorTree,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("BT Execution Time"), STAT_AI_BehaviorTree_ExecutionTime, STATGROUP_AIBehaviorTree,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("BT Auxiliary Update Time"), STAT_AI_BehaviorTree_AuxUpdateTime, STATGROUP_AIBehaviorTree,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("BT Cleanup Time"), STAT_AI_BehaviorTree_Cleanup, STATGROUP_AIBehaviorTree,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("BT Stop Tree Time"), STAT_AI_BehaviorTree_StopTree, STATGROUP_AIBehaviorTree,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num Templates"), STAT_AI_BehaviorTree_NumTemplates, STATGROUP_AIBehaviorTree,)
 
 DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN (TEXT("Num Instances"), STAT_AI_BehaviorTree_NumInstances, STATGROUP_AIBehaviorTree,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("Instance memory"), STAT_AI_BehaviorTree_InstanceMemory, STATGROUP_AIBehaviorTree, AIMODULE_API)
 
 DECLARE_DELEGATE_TwoParams (FOnBlackboardChange, const UBlackboardComponent &, FBlackboard::FKey)
 
 DECLARE_DELEGATE_TwoParams (FBTInstanceDeactivation, UBehaviorTreeComponent &, EBTNodeResult::Type)
 

Variables

constexpr int32 BTSpecialChild::NotInitialized = -1
 
constexpr int32 BTSpecialChild::ReturnToParent = -2
 
constexpr uint8 BTSpecialChild::OwnedByComposite = MAX_uint8
 

Macro Definition Documentation

◆ BT_SEARCHLOG

#define BT_SEARCHLOG (   SearchData,
  Verbosity,
  Format,
  ... 
)    UE_VLOG(SearchData.OwnerComp.GetOwner(), LogBehaviorTree, Verbosity, Format, ##__VA_ARGS__)

◆ BT_VLOG

#define BT_VLOG (   Context,
  Verbosity,
  Format,
  ... 
)    UE_VLOG(Context->OwnerComp.IsValid() ? Context->OwnerComp->GetOwner() : NULL, LogBehaviorTree, Verbosity, Format, ##__VA_ARGS__)

◆ USE_BEHAVIORTREE_DEBUGGER

#define USE_BEHAVIORTREE_DEBUGGER   (1 && WITH_EDITORONLY_DATA)

Typedef Documentation

◆ FOnBlackboardChangeNotification

Enumeration Type Documentation

◆ EBlackboardNotificationResult

Enumerator
RemoveObserver 
ContinueObserving 

◆ EBTNodeRelativePriority

Enumerator
Lower 
Same 
Higher 

◆ EBTRestartMode

enum class EBTRestartMode : uint8
strong
Enumerator
ForceReevaluateRootNode 
CompleteRestart 

Function Documentation

◆ DECLARE_CYCLE_STAT_EXTERN() [1/7]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("BT Auxiliary Update Time" ,
STAT_AI_BehaviorTree_AuxUpdateTime  ,
STATGROUP_AIBehaviorTree   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [2/7]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("BT Cleanup Time" ,
STAT_AI_BehaviorTree_Cleanup  ,
STATGROUP_AIBehaviorTree   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [3/7]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("BT Execution Time" ,
STAT_AI_BehaviorTree_ExecutionTime  ,
STATGROUP_AIBehaviorTree   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [4/7]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("BT Load Time" ,
STAT_AI_BehaviorTree_LoadTime  ,
STATGROUP_AIBehaviorTree   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [5/7]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("BT Search Time" ,
STAT_AI_BehaviorTree_SearchTime  ,
STATGROUP_AIBehaviorTree   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [6/7]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("BT Stop Tree Time" ,
STAT_AI_BehaviorTree_StopTree  ,
STATGROUP_AIBehaviorTree   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [7/7]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("BT Tick" ,
STAT_AI_BehaviorTree_Tick  ,
STATGROUP_AIBehaviorTree   
)

◆ DECLARE_DELEGATE_TwoParams() [1/2]

DECLARE_DELEGATE_TwoParams ( FBTInstanceDeactivation  ,
UBehaviorTreeComponent ,
EBTNodeResult::Type   
)

◆ DECLARE_DELEGATE_TwoParams() [2/2]

DECLARE_DELEGATE_TwoParams ( FOnBlackboardChange  ,
const UBlackboardComponent &  ,
FBlackboard::FKey   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [1/2]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num Instances" ,
STAT_AI_BehaviorTree_NumInstances  ,
STATGROUP_AIBehaviorTree   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN() [2/2]

DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN ( TEXT("Num Templates" ,
STAT_AI_BehaviorTree_NumTemplates  ,
STATGROUP_AIBehaviorTree   
)

◆ DECLARE_MEMORY_STAT_EXTERN()

DECLARE_MEMORY_STAT_EXTERN ( TEXT("Instance memory" ,
STAT_AI_BehaviorTree_InstanceMemory  ,
STATGROUP_AIBehaviorTree  ,
AIMODULE_API   
)

◆ DECLARE_STATS_GROUP()

DECLARE_STATS_GROUP ( TEXT("Behavior Tree" ,
STATGROUP_AIBehaviorTree  ,
STATCAT_Advanced   
)