UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UBehaviorTreeComponent Class Reference

#include <BehaviorTreeComponent.h>

+ Inheritance diagram for UBehaviorTreeComponent:

Classes

struct  FBranchActionInfo
 
struct  FBTSuspendBranchActionsScoped
 

Public Member Functions

AIMODULE_API UBehaviorTreeComponent (FVTableHelper &Helper)
 
virtual AIMODULE_API bool IsRunning () const override
 
virtual AIMODULE_API bool IsPaused () const override
 
virtual AIMODULE_API void Cleanup () override
 
virtual AIMODULE_API void HandleMessage (const FAIMessage &Message) override
 
virtual AIMODULE_API void UninitializeComponent () override
 
AIMODULE_API void StartTree (UBehaviorTree &Asset, EBTExecutionMode::Type ExecuteMode=EBTExecutionMode::Looped)
 
AIMODULE_API void StopTree (EBTStopMode::Type StopMode=EBTStopMode::Safe)
 
AIMODULE_API void RestartTree (EBTRestartMode RestartMode=EBTRestartMode::ForceReevaluateRootNode)
 
AIMODULE_API void RequestExecution (const UBTCompositeNode *RequestedOn, const int32 InstanceIdx, const UBTNode *RequestedBy, const int32 RequestedByChildIndex, const EBTNodeResult::Type ContinueWithResult, bool bStoreForDebugger=true)
 
void RequestExecution (const UBTDecorator *RequestedBy)
 
void RequestExecution (EBTNodeResult::Type ContinueWithResult)
 
AIMODULE_API void RequestUnregisterAuxNodesInBranch (const UBTCompositeNode *Node)
 
AIMODULE_API void RequestBranchEvaluation (EBTNodeResult::Type ContinueWithResult)
 
AIMODULE_API void RequestBranchEvaluation (const UBTDecorator &RequestedBy)
 
AIMODULE_API void RequestBranchActivation (const UBTDecorator &RequestedBy, const bool bRequestEvenIfExecuting)
 
AIMODULE_API void RequestBranchDeactivation (const UBTDecorator &RequestedBy)
 
AIMODULE_API void OnTaskFinished (const UBTTaskNode *TaskNode, EBTNodeResult::Type TaskResult)
 
AIMODULE_API void RegisterMessageObserver (const UBTTaskNode *TaskNode, FName MessageType)
 
AIMODULE_API void RegisterMessageObserver (const UBTTaskNode *TaskNode, FName MessageType, FAIRequestID MessageID)
 
AIMODULE_API void UnregisterMessageObserversFrom (const UBTTaskNode *TaskNode)
 
AIMODULE_API void UnregisterMessageObserversFrom (const FBTNodeIndex &TaskIdx)
 
AIMODULE_API void RegisterParallelTask (const UBTTaskNode *TaskNode)
 
AIMODULE_API void UnregisterParallelTask (const UBTTaskNode *TaskNode, uint16 InstanceIdx)
 
AIMODULE_API void UnregisterAuxNodesUpTo (const FBTNodeIndex &Index)
 
AIMODULE_API void UnregisterAuxNodesInRange (const FBTNodeIndex &FromIndex, const FBTNodeIndex &ToIndex)
 
AIMODULE_API void UnregisterAuxNodesInBranch (const UBTCompositeNode *Node, bool bApplyImmediately=true)
 
virtual AIMODULE_API void TickComponent (float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) override
 
AIMODULE_API void ScheduleNextTick (float NextDeltaTime)
 
AIMODULE_API void ProcessExecutionRequest ()
 
AIMODULE_API void ScheduleExecutionUpdate ()
 
AIMODULE_API int32 FindInstanceContainingNode (const UBTNode *Node) const
 
AIMODULE_API UBTNodeFindTemplateNode (const UBTNode *Node) const
 
UBehaviorTreeGetCurrentTree () const
 
UBehaviorTreeGetRootTree () const
 
const UBTNodeGetActiveNode () const
 
uint16 GetActiveInstanceIdx () const
 
AIMODULE_API uint8GetNodeMemory (const UBTNode *Node, int32 InstanceIdx) const
 
bool IsRestartPending () const
 
bool IsAbortPending () const
 
AIMODULE_API bool IsExecutingBranch (const UBTNode *Node, int32 ChildIndex=-1) const
 
AIMODULE_API bool IsAuxNodeActive (const UBTAuxiliaryNode *AuxNode) const
 
AIMODULE_API bool IsAuxNodeActive (const UBTAuxiliaryNode *AuxNodeTemplate, int32 InstanceIdx) const
 
bool IsInstanceStackEmpty () const
 
float GetAccumulatedTickDeltaTime () const
 
AIMODULE_API EBTTaskStatus::Type GetTaskStatus (const UBTTaskNode *TaskNode) const
 
virtual AIMODULE_API FString GetDebugInfoString () const override
 
virtual AIMODULE_API FString DescribeActiveTasks () const
 
virtual AIMODULE_API FString DescribeActiveTrees () const
 
AIMODULE_API double GetTagCooldownEndTime (FGameplayTag CooldownTag) const
 
AIMODULE_API void AddCooldownTagDuration (FGameplayTag CooldownTag, float CooldownDuration, bool bAddToExistingDuration)
 
virtual AIMODULE_API void SetDynamicSubtree (FGameplayTag InjectTag, UBehaviorTree *BehaviorAsset)
 
virtual AIMODULE_API void SetDynamicSubtree (FGameplayTag InjectTag, UBehaviorTree *BehaviorAsset, UBTCompositeNode *OptionalStartingNode)
 
AIMODULE_API void ForEachChildTask (TFunctionRef< void(UBTTaskNode &, const FBehaviorTreeInstance &, int32 InstanceIndex)> Functor)
 
AIMODULE_API void ForEachChildTask (UBTCompositeNode &StartNode, int32 InstanceIndex, TFunctionRef< void(UBTTaskNode &, const FBehaviorTreeInstance &, int32 InstanceIndex)> Functor)
 
- Public Member Functions inherited from UBrainComponent
AIMODULE_API void RequestLogicRestartOnUnlock ()
 
virtual AIMODULE_API void LockResource (EAIRequestPriority::Type LockSource) override
 
virtual AIMODULE_API void ClearResourceLock (EAIRequestPriority::Type LockSource) override
 
virtual AIMODULE_API void ForceUnlockResource () override
 
virtual AIMODULE_API bool IsResourceLocked () const override
 
virtual AIMODULE_API void InitializeComponent () override
 
virtual AIMODULE_API void OnRegister () override
 
AIMODULE_API void CacheBlackboardComponent (UBlackboardComponent *BBComp)
 
UBlackboardComponent * GetBlackboardComponent ()
 
const UBlackboardComponent * GetBlackboardComponent () const
 
AAIControllerGetAIOwner () const
 
- Public Member Functions inherited from UActorComponent
ENGINE_API UActorComponent (const FObjectInitializer &ObjectInitializer=FObjectInitializer::Get())
 
int32 GetUCSSerializationIndex () const
 
bool IsAsyncCreatePhysicsStateRunning () const
 
bool IsAsyncDestroyPhysicsStateRunning () const
 
uint32 GetMarkedForEndOfFrameUpdateState () const
 
uint32 GetMarkedForPreEndOfFrameSync () const
 
ENGINE_API void DetermineUCSModifiedProperties ()
 
ENGINE_API void GetUCSModifiedProperties (TSet< const FProperty * > &ModifiedProperties) const
 
ENGINE_API void RemoveUCSModifiedProperties (const TArray< FProperty * > &Properties)
 
ENGINE_API void ClearUCSModifiedProperties ()
 
ENGINE_API bool IsEditableWhenInherited () const
 
bool HasBeenCreated () const
 
bool HasBeenInitialized () const
 
bool IsReadyForReplication () const
 
bool HasBegunPlay () const
 
bool IsBeingDestroyed () const
 
ENGINE_API bool IsCreatedByConstructionScript () const
 
virtual ENGINE_API void OnRep_IsActive ()
 
AActorGetOwner () const
 
template<class T >
T * GetOwner () const
 
virtual UWorldGetWorld () const override final
 
ENGINE_API bool ComponentHasTag (FName Tag) const
 
virtual ENGINE_API void Activate (bool bReset=false)
 
virtual ENGINE_API void Deactivate ()
 
virtual ENGINE_API void SetActive (bool bNewActive, bool bReset=false)
 
virtual ENGINE_API void ToggleActive ()
 
bool IsActive () const
 
virtual ENGINE_API void SetAutoActivate (bool bNewAutoActivate)
 
ENGINE_API void SetTickableWhenPaused (bool bTickableWhenPaused)
 
ENGINE_API void CreatePhysicsState (bool bAllowDeferral=false)
 
ENGINE_API void DestroyPhysicsState ()
 
ENGINE_API void SetNetAddressable ()
 
ENGINE_API void SetIsReplicated (bool ShouldReplicate)
 
bool GetIsReplicated () const
 
virtual ENGINE_API bool ReplicateSubobjects (class UActorChannel *Channel, class FOutBunch *Bunch, FReplicationFlags *RepFlags)
 
bool IsUsingRegisteredSubObjectList () const
 
virtual ELifetimeCondition GetReplicationCondition () const
 
virtual void PreReplication (IRepChangedPropertyTracker &ChangedPropertyTracker)
 
virtual ENGINE_API bool GetComponentClassCanReplicate () const
 
ENGINE_API void AddReplicatedSubObject (UObject *SubObject, ELifetimeCondition NetCondition=COND_None)
 
ENGINE_API void RemoveReplicatedSubObject (UObject *SubObject)
 
ENGINE_API void DestroyReplicatedSubObjectOnRemotePeers (UObject *SubObject)
 
ENGINE_API void TearOffReplicatedSubObjectOnRemotePeers (UObject *SubObject)
 
ENGINE_API bool IsReplicatedSubObjectRegistered (const UObject *SubObject) const
 
bool IsNetSimulating () const
 
ENGINE_API ENetRole GetOwnerRole () const
 
ENetMode GetNetMode () const
 
bool IsNetMode (ENetMode Mode) const
 
bool IsNetStartupComponent () const
 
void SetIsNetStartupComponent (const bool bInIsNetStartupComponent)
 
virtual void OnEndOfFrameUpdateDuringTick ()
 
virtual void OnPreEndOfFrameSync ()
 
virtual ENGINE_API void RegisterReplicationFragments (UE::Net::FFragmentRegistrationContext &Context, UE::Net::EFragmentRegistrationFlags RegistrationFlags) override
 
virtual ENGINE_API void OnReplicationStartedForIris (const FOnReplicationStartedParams &)
 
virtual ENGINE_API void OnStopReplicationForIris (const FOnStopReplicationParams &)
 
virtual ENGINE_API void BeginReplication ()
 
virtual ENGINE_API void EndReplication ()
 
virtual ENGINE_API bool ShouldIncrementalPreRegister (UWorld *WorldContext) const
 
virtual ENGINE_API bool ShouldIncrementalPreUnregister () const
 
virtual bool AllowsAsyncPhysicsStateCreation () const
 
virtual bool AllowsAsyncPhysicsStateDestruction () const
 
virtual ENGINE_API bool IsAsyncPhysicsStateCreated () const override final
 
virtual ENGINE_API UObjectGetAsyncPhysicsStateObject () const override final
 
virtual ENGINE_API bool OnAsyncCreatePhysicsState (const UE::FTimeout &Timeout) override
 
virtual ENGINE_API void OnAsyncCreatePhysicsStateEnd_GameThread () override
 
virtual bool OnAsyncDestroyPhysicsState (const UE::FTimeout &Timeout) override
 
virtual ENGINE_API void OnAsyncDestroyPhysicsStateBegin_GameThread () override
 
virtual ENGINE_API void OnAsyncDestroyPhysicsStateEnd_GameThread () override
 
virtual ENGINE_API void ReadyForReplication ()
 
virtual ENGINE_API void BeginPlay ()
 
ENGINE_API void ReceiveBeginPlay ()
 
virtual ENGINE_API void EndPlay (const EEndPlayReason::Type EndPlayReason)
 
ENGINE_API void ReceiveEndPlay (EEndPlayReason::Type EndPlayReason)
 
ENGINE_API void RegisterAllComponentTickFunctions (bool bRegister)
 
virtual void AsyncPhysicsTickComponent (float DeltaTime, float SimTime)
 
ENGINE_API bool SetupActorComponentTickFunction (struct FTickFunction *TickFunction)
 
virtual ENGINE_API void SetComponentTickEnabledAsync (bool bEnabled)
 
virtual ENGINE_API bool IsComponentTickEnabled () const
 
ENGINE_API void SetComponentTickInterval (float TickInterval)
 
ENGINE_API void SetComponentTickIntervalAndCooldown (float TickInterval)
 
ENGINE_API float GetComponentTickInterval () const
 
ENGINE_API void PreRegisterComponentWithWorld (UWorld *InWorld)
 
ENGINE_API void PreUnregisterComponentFromWorld ()
 
ENGINE_API void RegisterComponentWithWorld (UWorld *InWorld, FRegisterComponentContext *Context=nullptr)
 
virtual bool IsReadyForOwnerToAutoDestroy () const
 
ENGINE_API bool IsOwnerSelected () const
 
bool IsRenderTransformDirty () const
 
bool IsRenderInstancesDirty () const
 
bool IsRenderStateDirty () const
 
void InvalidateLightingCache ()
 
virtual void InvalidateLightingCacheDetailed (bool bInvalidateBuildEnqueuedLighting, bool bTranslationOnly)
 
ENGINE_API void DoDeferredRenderUpdates_Concurrent ()
 
virtual void UpdateComponentToWorld (EUpdateTransformFlags UpdateTransformFlags=EUpdateTransformFlags::None, ETeleportType Teleport=ETeleportType::None)
 
ENGINE_API void MarkRenderStateDirty ()
 
ENGINE_API void MarkRenderDynamicDataDirty ()
 
ENGINE_API void MarkRenderTransformDirty ()
 
ENGINE_API void MarkRenderInstancesDirty ()
 
ENGINE_API void MarkForNeededEndOfFrameUpdate (bool bReadyForEarlyUpdate=false)
 
ENGINE_API void MarkForNeededEndOfFrameRecreate ()
 
bool IsReadyForEarlyEndOfFrameUpdate () const
 
void ClearNeedEndOfFrameUpdate ()
 
virtual ENGINE_API bool RequiresGameThreadEndOfFrameUpdates () const
 
virtual ENGINE_API bool RequiresGameThreadEndOfFrameRecreate () const
 
virtual ENGINE_API bool RequiresPreEndOfFrameSync () const
 
ENGINE_API void RecreateRenderState_Concurrent ()
 
ENGINE_API void RecreatePhysicsState ()
 
bool IsRenderStateCreated () const
 
bool IsRenderStateRecreating () const
 
bool IsPhysicsStateCreated () const
 
bool IsRenderStateUpdating () const
 
ENGINE_API class FSceneInterfaceGetScene () const
 
ENGINE_API ULevelGetComponentLevel () const
 
ENGINE_API bool ComponentIsInLevel (const class ULevel *TestLevel) const
 
ENGINE_API bool ComponentIsInPersistentLevel (bool bIncludeLevelStreamingPersistent) const
 
virtual void OnActorVisibilityChanged ()
 
virtual void OnActorEnableCollisionChanged ()
 
virtual ENGINE_API FString GetReadableName () const
 
virtual UObject const * AdditionalStatObject () const
 
virtual ENGINE_API TStructOnScope< FActorComponentInstanceDataGetComponentInstanceData () const
 
virtual ENGINE_API void PostApplyToComponent ()
 
virtual void GetComponentChildElements (TArray< FTypedElementHandle > &OutElementHandles, const bool bAllowCreate=true)
 
virtual ENGINE_API void BeginDestroy () override
 
virtual ENGINE_API bool NeedsLoadForClient () const override
 
virtual ENGINE_API bool NeedsLoadForServer () const override
 
virtual ENGINE_API bool NeedsLoadForEditorGame () const override
 
virtual ENGINE_API bool IsNameStableForNetworking () const override
 
virtual ENGINE_API bool IsSupportedForNetworking () const override
 
virtual ENGINE_API void GetLifetimeReplicatedProps (TArray< FLifetimeProperty > &OutLifetimeProps) const override
 
virtual ENGINE_API int32 GetFunctionCallspace (UFunction *Function, FFrame *Stack) override
 
virtual ENGINE_API bool CallRemoteFunction (UFunction *Function, void *Parameters, FOutParmRec *OutParms, FFrame *Stack) override
 
virtual ENGINE_API void PostInitProperties () override
 
virtual ENGINE_API void PostLoad () override
 
virtual ENGINE_API bool Rename (const TCHAR *NewName=NULL, UObject *NewOuter=NULL, ERenameFlags Flags=REN_None) override
 
virtual ENGINE_API void PostRename (UObject *OldOuter, const FName OldName) override
 
virtual ENGINE_API void Serialize (FArchive &Ar) override
 
virtual ENGINE_API void AddAssetUserData (UAssetUserData *InUserData) override
 
virtual ENGINE_API void RemoveUserDataOfClass (TSubclassOf< UAssetUserData > InUserDataClass) override
 
virtual ENGINE_API UAssetUserDataGetAssetUserDataOfClass (TSubclassOf< UAssetUserData > InUserDataClass) override
 
virtual ENGINE_API const TArray< UAssetUserData * > * GetAssetUserDataArray () const override
 
ENGINE_API void OnCreatedFromReplication ()
 
ENGINE_API void OnDestroyedFromReplication ()
 
ENGINE_API bool IsOwnerRunningUserConstructionScript () const
 
bool IsPreRegistering () const
 
bool IsPreRegistered () const
 
bool IsPreUnregistering () const
 
bool IsPreUnregistered () const
 
bool IsRegistered () const
 
bool AllowReregistration () const
 
ENGINE_API void RegisterComponent ()
 
ENGINE_API void UnregisterComponent ()
 
virtual ENGINE_API void DestroyComponent (bool bPromoteChildren=false)
 
virtual ENGINE_API void OnComponentCreated ()
 
virtual ENGINE_API void OnComponentDestroyed (bool bDestroyingHierarchy)
 
ENGINE_API void K2_DestroyComponent (UObject *Object)
 
ENGINE_API void ReregisterComponent ()
 
ENGINE_API void SetTickGroup (ETickingGroup NewTickGroup)
 
virtual ENGINE_API void AddTickPrerequisiteActor (AActor *PrerequisiteActor)
 
virtual ENGINE_API void AddTickPrerequisiteComponent (UActorComponent *PrerequisiteComponent)
 
virtual ENGINE_API void RemoveTickPrerequisiteActor (AActor *PrerequisiteActor)
 
virtual ENGINE_API void RemoveTickPrerequisiteComponent (UActorComponent *PrerequisiteComponent)
 
ENGINE_API void ReceiveTick (float DeltaSeconds)
 
ENGINE_API void ReceiveAsyncPhysicsTick (float DeltaSeconds, float SimSeconds)
 
virtual void ApplyWorldOffset (const FVector &InOffset, bool bWorldShift)
 
bool CanEverAffectNavigation () const
 
ENGINE_API void SetCanEverAffectNavigation (bool bRelevant)
 
virtual bool IsNavigationRelevant () const
 
virtual bool IsHLODRelevant () const
 
 DECLARE_MULTICAST_DELEGATE_OneParam (FOnMarkRenderStateDirty, UActorComponent &)
 
ENGINE_API void SetActiveFlag (const bool bNewIsActive)
 
- Public Member Functions inherited from UObject
COREUOBJECT_API UObject ()
 
COREUOBJECT_API UObject (const FObjectInitializer &ObjectInitializer)
 
COREUOBJECT_API UObject (EStaticConstructor, EObjectFlags InFlags)
 
COREUOBJECT_API UObject (FVTableHelper &Helper)
 
COREUOBJECT_API UObjectCreateDefaultSubobject (FName SubobjectFName, UClass *ReturnType, UClass *ClassToCreateByDefault, bool bIsRequired, bool bIsTransient)
 
template<class TReturnType >
TReturnTypeCreateEditorOnlyDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
COREUOBJECT_API void GetDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects)
 
COREUOBJECT_API UObjectGetDefaultSubobjectByName (FName ToFind)
 
virtual COREUOBJECT_API void PostReinitProperties ()
 
virtual void PostCDOContruct ()
 
virtual COREUOBJECT_API void PreSaveRoot (FObjectPreSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PostSaveRoot (FObjectPostSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PreSave (FObjectPreSaveContext SaveContext)
 
virtual COREUOBJECT_API void CollectSaveOverrides (FObjectCollectSaveOverridesContext SaveContext)
 
UE_FORCEINLINE_HINT bool Modify (bool bAlwaysMarkDirty=true)
 
UE_FORCEINLINE_HINT bool IsCapturingAsRootObjectForTransaction () const
 
virtual bool ResolveSubobject (const TCHAR *SubObjectPath, UObject *&OutObject, bool bLoadIfExists)
 
virtual bool IsReadyForAsyncPostLoad () const
 
virtual COREUOBJECT_API void PostLoadSubobjects (FObjectInstancingGraph *OuterInstanceGraph)
 
virtual bool IsReadyForFinishDestroy ()
 
virtual COREUOBJECT_API void FinishDestroy ()
 
virtual COREUOBJECT_API void Serialize (FStructuredArchive::FRecord Record)
 
virtual void ShutdownAfterError ()
 
virtual void PostInterpChange (FProperty *PropertyThatChanged)
 
virtual void PreDuplicate (FObjectDuplicationParameters &DupParams)
 
virtual void PostDuplicate (bool bDuplicateForPIE)
 
virtual void PostDuplicate (EDuplicateMode::Type DuplicateMode)
 
virtual COREUOBJECT_API bool NeedsLoadForTargetPlatform (const class ITargetPlatform *TargetPlatform) const
 
virtual bool IsEditorOnly () const
 
virtual bool HasNonEditorOnlyReferences () const
 
virtual bool IsPostLoadThreadSafe () const
 
virtual COREUOBJECT_API bool IsDestructionThreadSafe () const
 
virtual COREUOBJECT_API void GetPreloadDependencies (TArray< UObject * > &OutDeps)
 
virtual void GetPrestreamPackages (TArray< UObject * > &OutPrestream)
 
virtual void ExportCustomProperties (FOutputDevice &Out, uint32 Indent)
 
virtual void ImportCustomProperties (const TCHAR *SourceText, FFeedbackContext *Warn)
 
virtual void PostEditImport ()
 
virtual void PostReloadConfig (class FProperty *PropertyThatWasLoaded)
 
virtual FString GetDesc ()
 
COREUOBJECT_API UScriptStructGetSparseClassDataStruct () const
 
virtual bool GetNativePropertyValues (TMap< FString, FString > &out_PropertyValues, uint32 ExportFlags=0) const
 
virtual COREUOBJECT_API void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize)
 
SIZE_T GetResourceSizeBytes (EResourceSizeMode::Type Mode)
 
virtual FName GetExporterName (void)
 
COREUOBJECT_API void CallAddReferencedObjects (FReferenceCollector &Collector)
 
virtual FRestoreForUObjectOverwriteGetRestoreForUObjectOverwrite ()
 
virtual bool AreNativePropertiesIdenticalTo (UObject *Other) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (TArray< FAssetRegistryTag > &OutTags) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetData &Out) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context, FAssetData &Out) const
 
virtual COREUOBJECT_API bool IsAsset () const
 
virtual COREUOBJECT_API FPrimaryAssetId GetPrimaryAssetId () const
 
virtual COREUOBJECT_API bool IsLocalizedResource () const
 
virtual COREUOBJECT_API bool IsSafeForRootSet () const
 
virtual COREUOBJECT_API void TagSubobjects (EObjectFlags NewFlags)
 
virtual COREUOBJECT_API void GetReplicatedCustomConditionState (FCustomPropertyConditionState &OutActiveState) const
 
virtual COREUOBJECT_API bool IsFullNameStableForNetworking () const
 
virtual void GetSubobjectsWithStableNamesForNetworking (TArray< UObject * > &ObjList)
 
virtual COREUOBJECT_API void PreNetReceive ()
 
virtual COREUOBJECT_API void PostNetReceive ()
 
virtual void PostRepNotifies ()
 
virtual COREUOBJECT_API void PreDestroyFromReplication ()
 
COREUOBJECT_API bool IsSelected () const
 
COREUOBJECT_API void SerializeScriptProperties (FArchive &Ar) const
 
COREUOBJECT_API void SerializeScriptProperties (FStructuredArchive::FSlot Slot) const
 
COREUOBJECT_API void ReinitializeProperties (UObject *SourceObject=NULL, struct FObjectInstancingGraph *InstanceGraph=NULL)
 
COREUOBJECT_API FString GetDetailedInfo () const
 
COREUOBJECT_API bool ConditionalBeginDestroy ()
 
COREUOBJECT_API bool ConditionalFinishDestroy ()
 
COREUOBJECT_API void ConditionalPostLoad ()
 
COREUOBJECT_API void ConditionalPreload ()
 
COREUOBJECT_API void ConditionalPostLoadSubobjects (struct FObjectInstancingGraph *OuterInstanceGraph=NULL)
 
bool IsBasedOnArchetype (const UObject *const SomeObject) const
 
COREUOBJECT_API UFunctionFindFunction (FName InName) const
 
COREUOBJECT_API UFunctionFindFunctionChecked (FName InName) const
 
virtual COREUOBJECT_API void BuildSubobjectMapping (UObject *OtherObject, TMap< UObject *, UObject * > &ObjectMapping) const
 
COREUOBJECT_API void CollectDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects, bool bIncludeNestedSubobjects=false) const
 
COREUOBJECT_API bool CheckDefaultSubobjects (bool bForceCheck=false) const
 
COREUOBJECT_API void SaveConfig (uint64 RequiredPropertyFlags=CPF_Config, const TCHAR *Filename=nullptr, FConfigCacheIni *Config=GConfig, bool bAllowCopyToDefaultObject=true)
 
COREUOBJECT_API void SaveConfig (const FSaveConfigContext &Context)
 
COREUOBJECT_API void UpdateDefaultConfigFile (const FString &SpecificFileLocation="")
 
COREUOBJECT_API bool TryUpdateDefaultConfigFile (const FString &SpecificFileLocation="", bool bWarnIfFail=true)
 
COREUOBJECT_API void UpdateGlobalUserConfigFile ()
 
COREUOBJECT_API void UpdateProjectUserConfigFile ()
 
COREUOBJECT_API void UpdateSinglePropertyInConfigFile (const FProperty *InProperty, const FString &InConfigIniName)
 
COREUOBJECT_API FString GetDefaultConfigFilename () const
 
COREUOBJECT_API FString GetGlobalUserConfigFilename () const
 
COREUOBJECT_API FString GetProjectUserConfigFilename () const
 
virtual const TCHARGetConfigOverridePlatform () const
 
virtual void OverrideConfigSection (FString &SectionName)
 
virtual void OverridePerObjectConfigSection (FString &SectionName)
 
COREUOBJECT_API void LoadConfig (UClass *ConfigClass=nullptr, const TCHAR *Filename=nullptr, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=nullptr, TArray< UE::ConfigAccessTracking::FConfigAccessData > *OutAccessedKeys=nullptr)
 
COREUOBJECT_API void ReloadConfig (UClass *ConfigClass=NULL, const TCHAR *Filename=NULL, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=NULL)
 
COREUOBJECT_API void ParseParms (const TCHAR *Parms)
 
COREUOBJECT_API void OutputReferencers (FOutputDevice &Ar, FReferencerInformationList *Referencers=NULL)
 
COREUOBJECT_API void RetrieveReferencers (TArray< FReferencerInformation > *OutInternalReferencers, TArray< FReferencerInformation > *OutExternalReferencers)
 
COREUOBJECT_API void SetLinker (FLinkerLoad *LinkerLoad, int32 LinkerIndex, bool bShouldDetachExisting=true, bool bSilenceLogs=false)
 
COREUOBJECT_API UObjectGetArchetype () const
 
COREUOBJECT_API void GetArchetypeInstances (TArray< UObject * > &Instances)
 
COREUOBJECT_API void InstanceSubobjectTemplates (struct FObjectInstancingGraph *InstanceGraph=NULL)
 
template<class T >
bool Implements () const
 
virtual COREUOBJECT_API void ProcessEvent (UFunction *Function, void *Parms)
 
COREUOBJECT_API bool CallFunctionByNameWithArguments (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor, bool bForceCallWithNonExec=false)
 
COREUOBJECT_API void CallFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
 DECLARE_FUNCTION (ProcessInternal)
 
virtual bool ProcessConsoleExec (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor)
 
COREUOBJECT_API void SkipFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
virtual UClassRegenerateClass (UClass *ClassToRegenerate, UObject *PreviousCDO)
 
COREUOBJECT_API bool IsInBlueprint () const
 
COREUOBJECT_API void DestroyNonNativeProperties ()
 
virtual void MarkAsEditorOnlySubobject ()
 
COREUOBJECT_API void AbortInsideMemberFunction () const
 
 DECLARE_FUNCTION (execUndefined)
 
 DECLARE_FUNCTION (execLocalVariable)
 
 DECLARE_FUNCTION (execInstanceVariable)
 
 DECLARE_FUNCTION (execDefaultVariable)
 
 DECLARE_FUNCTION (execLocalOutVariable)
 
 DECLARE_FUNCTION (execInterfaceVariable)
 
 DECLARE_FUNCTION (execClassSparseDataVariable)
 
 DECLARE_FUNCTION (execInterfaceContext)
 
 DECLARE_FUNCTION (execArrayElement)
 
 DECLARE_FUNCTION (execBoolVariable)
 
 DECLARE_FUNCTION (execClassDefaultVariable)
 
 DECLARE_FUNCTION (execEndFunctionParms)
 
 DECLARE_FUNCTION (execNothing)
 
 DECLARE_FUNCTION (execNothingInt32)
 
 DECLARE_FUNCTION (execNothingOp4a)
 
 DECLARE_FUNCTION (execBreakpoint)
 
 DECLARE_FUNCTION (execTracepoint)
 
 DECLARE_FUNCTION (execWireTracepoint)
 
 DECLARE_FUNCTION (execInstrumentation)
 
 DECLARE_FUNCTION (execEndOfScript)
 
 DECLARE_FUNCTION (execReturnNothing)
 
 DECLARE_FUNCTION (execEmptyParmValue)
 
 DECLARE_FUNCTION (execJump)
 
 DECLARE_FUNCTION (execJumpIfNot)
 
 DECLARE_FUNCTION (execAssert)
 
 DECLARE_FUNCTION (execPushExecutionFlow)
 
 DECLARE_FUNCTION (execPopExecutionFlow)
 
 DECLARE_FUNCTION (execComputedJump)
 
 DECLARE_FUNCTION (execPopExecutionFlowIfNot)
 
 DECLARE_FUNCTION (execLet)
 
 DECLARE_FUNCTION (execLetObj)
 
 DECLARE_FUNCTION (execLetWeakObjPtr)
 
 DECLARE_FUNCTION (execLetBool)
 
 DECLARE_FUNCTION (execLetDelegate)
 
 DECLARE_FUNCTION (execLetMulticastDelegate)
 
 DECLARE_FUNCTION (execAddMulticastDelegate)
 
 DECLARE_FUNCTION (execClearMulticastDelegate)
 
 DECLARE_FUNCTION (execEatReturnValue)
 
 DECLARE_FUNCTION (execRemoveMulticastDelegate)
 
 DECLARE_FUNCTION (execSelf)
 
 DECLARE_FUNCTION (execContext)
 
 DECLARE_FUNCTION (execContext_FailSilent)
 
 DECLARE_FUNCTION (execStructMemberContext)
 
 DECLARE_FUNCTION (execVirtualFunction)
 
 DECLARE_FUNCTION (execFinalFunction)
 
 DECLARE_FUNCTION (execLocalVirtualFunction)
 
 DECLARE_FUNCTION (execLocalFinalFunction)
 
 DECLARE_FUNCTION (execStructCmpEq)
 
 DECLARE_FUNCTION (execStructCmpNe)
 
 DECLARE_FUNCTION (execStructMember)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execNotEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execNotEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execIntConst)
 
 DECLARE_FUNCTION (execInt64Const)
 
 DECLARE_FUNCTION (execUInt64Const)
 
 DECLARE_FUNCTION (execSkipOffsetConst)
 
 DECLARE_FUNCTION (execFloatConst)
 
 DECLARE_FUNCTION (execDoubleConst)
 
 DECLARE_FUNCTION (execStringConst)
 
 DECLARE_FUNCTION (execUnicodeStringConst)
 
 DECLARE_FUNCTION (execTextConst)
 
 DECLARE_FUNCTION (execPropertyConst)
 
 DECLARE_FUNCTION (execObjectConst)
 
 DECLARE_FUNCTION (execSoftObjectConst)
 
 DECLARE_FUNCTION (execFieldPathConst)
 
 DECLARE_FUNCTION (execInstanceDelegate)
 
 DECLARE_FUNCTION (execNameConst)
 
 DECLARE_FUNCTION (execByteConst)
 
 DECLARE_FUNCTION (execIntZero)
 
 DECLARE_FUNCTION (execIntOne)
 
 DECLARE_FUNCTION (execTrue)
 
 DECLARE_FUNCTION (execFalse)
 
 DECLARE_FUNCTION (execNoObject)
 
 DECLARE_FUNCTION (execNullInterface)
 
 DECLARE_FUNCTION (execIntConstByte)
 
 DECLARE_FUNCTION (execRotationConst)
 
 DECLARE_FUNCTION (execVectorConst)
 
 DECLARE_FUNCTION (execVector3fConst)
 
 DECLARE_FUNCTION (execTransformConst)
 
 DECLARE_FUNCTION (execStructConst)
 
 DECLARE_FUNCTION (execSetArray)
 
 DECLARE_FUNCTION (execSetSet)
 
 DECLARE_FUNCTION (execSetMap)
 
 DECLARE_FUNCTION (execArrayConst)
 
 DECLARE_FUNCTION (execSetConst)
 
 DECLARE_FUNCTION (execMapConst)
 
 DECLARE_FUNCTION (execBitFieldConst)
 
 DECLARE_FUNCTION (execNew)
 
 DECLARE_FUNCTION (execClassContext)
 
 DECLARE_FUNCTION (execNativeParm)
 
 DECLARE_FUNCTION (execCast)
 
 DECLARE_FUNCTION (execDynamicCast)
 
 DECLARE_FUNCTION (execMetaCast)
 
 DECLARE_FUNCTION (execInterfaceCast)
 
 DECLARE_FUNCTION (execDoubleToFloatCast)
 
 DECLARE_FUNCTION (execFloatToDoubleCast)
 
 DECLARE_FUNCTION (execObjectToBool)
 
 DECLARE_FUNCTION (execInterfaceToBool)
 
 DECLARE_FUNCTION (execObjectToInterface)
 
 DECLARE_FUNCTION (execInterfaceToInterface)
 
 DECLARE_FUNCTION (execInterfaceToObject)
 
 DECLARE_FUNCTION (execGetDynArrayElement)
 
 DECLARE_FUNCTION (execSetDynArrayElement)
 
 DECLARE_FUNCTION (execGetDynArrayLength)
 
 DECLARE_FUNCTION (execSetDynArrayLength)
 
 DECLARE_FUNCTION (execDynArrayInsert)
 
 DECLARE_FUNCTION (execDynArrayRemove)
 
 DECLARE_FUNCTION (execDynArrayFind)
 
 DECLARE_FUNCTION (execDynArrayFindStruct)
 
 DECLARE_FUNCTION (execDynArrayAdd)
 
 DECLARE_FUNCTION (execDynArrayAddItem)
 
 DECLARE_FUNCTION (execDynArrayInsertItem)
 
 DECLARE_FUNCTION (execDynArrayRemoveItem)
 
 DECLARE_FUNCTION (execDynArraySort)
 
 DECLARE_FUNCTION (execBindDelegate)
 
 DECLARE_FUNCTION (execCallMulticastDelegate)
 
 DECLARE_FUNCTION (execLetValueOnPersistentFrame)
 
 DECLARE_FUNCTION (execCallMathFunction)
 
 DECLARE_FUNCTION (execSwitchValue)
 
 DECLARE_FUNCTION (execArrayGetByRef)
 
 DECLARE_FUNCTION (execAutoRtfmTransact)
 
 DECLARE_FUNCTION (execAutoRtfmStopTransact)
 
 DECLARE_FUNCTION (execAutoRtfmAbortIfNot)
 
void ExecuteUbergraph (int32 EntryPoint)
 
virtual void ValidateGeneratedRepEnums (const TArray< struct FRepRecord > &ClassReps) const
 
virtual uint64 GetNetPushIdDynamic () const
 
- Public Member Functions inherited from UObjectBaseUtility
 UObjectBaseUtility ()
 
 UObjectBaseUtility (EObjectFlags InFlags)
 
void SetFlags (EObjectFlags NewFlags)
 
void ClearFlags (EObjectFlags FlagsToClear)
 
bool HasAnyFlags (EObjectFlags FlagsToCheck) const
 
bool HasAllFlags (EObjectFlags FlagsToCheck) const
 
UE_FORCEINLINE_HINT EObjectFlags GetMaskedFlags (EObjectFlags Mask=RF_AllFlags) const
 
UE_FORCEINLINE_HINT void Mark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT void UnMark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAnyMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAllMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT EObjectMark GetAllMarks () const
 
void MarkAsGarbage ()
 
void ClearGarbage ()
 
UE_FORCEINLINE_HINT void AddToRoot ()
 
UE_FORCEINLINE_HINT void RemoveFromRoot ()
 
UE_FORCEINLINE_HINT bool IsRooted () const
 
UE_FORCEINLINE_HINT int32 GetRefCount () const
 
bool ThisThreadAtomicallyClearedRFUnreachable ()
 
UE_FORCEINLINE_HINT bool IsUnreachable () const
 
UE_FORCEINLINE_HINT bool IsNative () const
 
void SetInternalFlags (EInternalObjectFlags FlagsToSet) const
 
UE_FORCEINLINE_HINT EInternalObjectFlags GetInternalFlags () const
 
UE_FORCEINLINE_HINT bool HasAnyInternalFlags (EInternalObjectFlags FlagsToCheck) const
 
void ClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
bool AtomicallyClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
COREUOBJECT_API FString GetFullName (const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (const UObject *StopOuter, FString &ResultString, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (FStringBuilderBase &ResultString, const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API FString GetPathName (const UObject *StopOuter=NULL) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FString &ResultString) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FStringBuilderBase &ResultString) const
 
virtual bool CanBeClusterRoot () const
 
virtual COREUOBJECT_API bool CanBeInCluster () const
 
virtual COREUOBJECT_API void CreateCluster ()
 
virtual void OnClusterMarkedAsPendingKill ()
 
COREUOBJECT_API void AddToCluster (UObjectBaseUtility *ClusterRootOrObjectFromCluster, bool bAddAsMutableObject=false)
 
COREUOBJECT_API FString GetFullGroupName (bool bStartWithOuter) const
 
UE_FORCEINLINE_HINT FString GetName () const
 
UE_FORCEINLINE_HINT void GetName (FString &ResultString) const
 
UE_FORCEINLINE_HINT void AppendName (FString &ResultString) const
 
COREUOBJECT_API bool IsPackageExternal () const
 
COREUOBJECT_API void DetachExternalPackage ()
 
COREUOBJECT_API void ReattachExternalPackage ()
 
COREUOBJECT_API UObjectGetOutermostObject () const
 
COREUOBJECT_API UPackageGetPackage () const
 
UE_INTERNAL virtual COREUOBJECT_API UE::Core::FVersePath GetVersePath () const
 
COREUOBJECT_API UPackageGetOutermost () const
 
COREUOBJECT_API bool MarkPackageDirty () const
 
COREUOBJECT_API bool IsTemplate (EObjectFlags TemplateTypes=RF_ArchetypeObject|RF_ClassDefaultObject) const
 
COREUOBJECT_API UObjectGetTypedOuter (UClass *Target) const
 
template<typename T >
T * GetTypedOuter () const
 
template<typename InterfaceClassType >
InterfaceClassTypeGetImplementingOuter () const
 
COREUOBJECT_API UObjectBaseUtilityGetImplementingOuterObject (const UClass *InInterfaceClass) const
 
COREUOBJECT_API bool IsIn (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsIn (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInOuter (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsInPackage (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInA (const UClass *SomeBaseClass) const
 
COREUOBJECT_API bool RootPackageHasAnyFlags (uint32 CheckFlagMask) const
 
template<typename OtherClassType >
bool IsA (OtherClassType SomeBase) const
 
template<class T >
bool IsA () const
 
COREUOBJECT_API const UClassFindNearestCommonBaseClass (const UClass *TestClass) const
 
COREUOBJECT_API voidGetInterfaceAddress (UClass *InterfaceClass)
 
COREUOBJECT_API voidGetNativeInterfaceAddress (UClass *InterfaceClass)
 
const voidGetNativeInterfaceAddress (UClass *InterfaceClass) const
 
COREUOBJECT_API bool IsTemplateForSubobjects (EObjectFlags TemplateTypes=RF_ClassDefaultObject|RF_DefaultSubObject|RF_InheritableComponentTemplate) const
 
COREUOBJECT_API bool IsDefaultSubobject () const
 
COREUOBJECT_API class FLinkerLoadGetLinker () const
 
COREUOBJECT_API int32 GetLinkerIndex () const
 
COREUOBJECT_API FPackageFileVersion GetLinkerUEVersion () const
 
int32 GetLinkerUE4Version () const
 
COREUOBJECT_API int32 GetLinkerLicenseeUEVersion () const
 
int32 GetLinkerLicenseeUE4Version () const
 
COREUOBJECT_API int32 GetLinkerCustomVersion (FGuid CustomVersionKey) const
 
UE_FORCEINLINE_HINT bool operator< (const UObjectBaseUtility &Other) const
 
TStatId GetStatID (bool bForDeferredUse=false) const
 
- Public Member Functions inherited from UObjectBase
COREUOBJECT_API UObjectBase (UClass *InClass, EObjectFlags InFlags, EInternalObjectFlags InInternalFlags, UObject *InOuter, FName InName, int32 InInternalIndex=-1, int32 InSerialNumber=0, FRemoteObjectId InRemoteId=FRemoteObjectId())
 
virtual COREUOBJECT_API ~UObjectBase ()
 
COREUOBJECT_API bool IsValidLowLevel () const
 
COREUOBJECT_API bool IsValidLowLevelFast (bool bRecursive=true) const
 
FORCEINLINE uint32 GetUniqueID () const
 
FORCEINLINE UClassGetClass () const
 
FORCEINLINE UObjectGetOuter () const
 
FORCEINLINE FName GetFName () const
 
virtual COREUOBJECT_API FName GetFNameForStatID () const
 
COREUOBJECT_API UPackageGetExternalPackage () const
 
COREUOBJECT_API void SetExternalPackage (UPackage *InPackage)
 
COREUOBJECT_API UPackageGetExternalPackageInternal () const
 
COREUOBJECT_API void MarkAsReachable () const
 
COREUOBJECT_API void AddRef () const
 
COREUOBJECT_API void ReleaseRef () const
 
FORCEINLINE EObjectFlags GetFlags () const
 
FORCENOINLINE void AtomicallySetFlags (EObjectFlags FlagsToAdd)
 
FORCENOINLINE void AtomicallyClearFlags (EObjectFlags FlagsToClear)
 
- Public Member Functions inherited from IAsyncPhysicsStateProcessor
virtual void CollectBodySetupsWithPhysicsMeshesToCreate (TSet< UBodySetup * > &OutBodySetups) const
 
virtual void OnAsyncCreatePhysicsStateBegin_GameThread ()
 

Static Public Member Functions

static AIMODULE_API void EndFrame ()
 
static AIMODULE_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
- Static Public Member Functions inherited from UActorComponent
static ENGINE_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
- Static Public Member Functions inherited from UObject
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedServer (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedClient (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API bool CanCreateInCurrentContext (UObject *Template)
 
static COREUOBJECT_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static COREUOBJECT_API const FNameSourceFileTagName ()
 
static COREUOBJECT_API UObjectGetArchetypeFromRequiredInfo (const UClass *Class, const UObject *Outer, FName Name, EObjectFlags ObjectFlags)
 
- Static Public Member Functions inherited from UObjectBaseUtility
static bool IsGarbageEliminationEnabled ()
 
static bool IsPendingKillEnabled ()
 
static void SetGarbageEliminationEnabled (bool bEnabled)
 
static COREUOBJECT_API void ReloadObjectsFromModifiedConfigSections (const class FConfigModificationTracker *ChangeTracker)
 
- Static Public Member Functions inherited from UObjectBase
static COREUOBJECT_API FString RemoveClassPrefix (const TCHAR *ClassName)
 
static void PrefetchClass (UObject *Object)
 
static void PrefetchOuter (UObject *Object)
 

Protected Types

typedef FBTSuspendBranchActionsScoped FBTSuspendBranchDeactivationScoped
 
- Protected Types inherited from UActorComponent
enum class  EComponentRegistrationState {
  None , PreRegistering , PreRegistered , PreUnregistering ,
  PreUnregistered
}
 

Protected Member Functions

AIMODULE_API bool PushInstance (UBehaviorTree &TreeAsset)
 
AIMODULE_API uint8 UpdateInstanceId (UBehaviorTree *TreeAsset, const UBTNode *OriginNode, int32 OriginInstanceIdx)
 
AIMODULE_API void RemoveAllInstances ()
 
AIMODULE_API void CopyInstanceMemoryToPersistent ()
 
AIMODULE_API void CopyInstanceMemoryFromPersistent ()
 
virtual AIMODULE_API void OnTreeFinished ()
 
AIMODULE_API void ApplySearchData (UBTNode *NewActiveNode)
 
AIMODULE_API void ApplyDiscardedSearch ()
 
AIMODULE_API void ApplySearchUpdates (const TArray< FBehaviorTreeSearchUpdate > &UpdateList, int32 NewNodeExecutionIndex, bool bPostUpdate=false)
 
AIMODULE_API void ApplyAllSearchUpdates (const TArray< FBehaviorTreeSearchUpdate > &UpdateList, int32 NewNodeExecutionIndex, bool bDoPostUpdate=true, bool bAllowTaskUpdates=true)
 
AIMODULE_API void AbortCurrentTask ()
 
AIMODULE_API void ExecuteTask (UBTTaskNode *TaskNode)
 
AIMODULE_API bool DeactivateUpTo (const UBTCompositeNode *Node, uint16 NodeInstanceIdx, EBTNodeResult::Type &NodeResult, int32 &OutLastDeactivatedChildIndex)
 
AIMODULE_API bool TrackPendingLatentAborts ()
 
AIMODULE_API void TrackNewLatentAborts ()
 
AIMODULE_API bool HasActiveLatentAborts () const
 
AIMODULE_API void ProcessPendingExecution ()
 
AIMODULE_API void ProcessPendingInitialize ()
 
AIMODULE_API void RollbackSearchChanges ()
 
AIMODULE_API void StoreDebuggerExecutionStep (EBTExecutionSnap::Type SnapType)
 
AIMODULE_API void StoreDebuggerInstance (FBehaviorTreeDebuggerInstance &InstanceInfo, uint16 InstanceIdx, EBTExecutionSnap::Type SnapType) const
 
AIMODULE_API void StoreDebuggerRemovedInstance (uint16 InstanceIdx) const
 
AIMODULE_API void StoreDebuggerSearchStep (const UBTNode *Node, uint16 InstanceIdx, EBTNodeResult::Type NodeResult) const
 
AIMODULE_API void StoreDebuggerSearchStep (const UBTNode *Node, uint16 InstanceIdx, bool bPassed) const
 
AIMODULE_API void StoreDebuggerRestart (const UBTNode *Node, uint16 InstanceIdx, bool bAllowed)
 
AIMODULE_API void StoreDebuggerBlackboard (TMap< FName, FString > &BlackboardValueDesc) const
 
AIMODULE_API void StoreDebuggerRuntimeValues (TArray< FString > &RuntimeDescriptions, UBTNode *RootNode, uint16 InstanceIdx) const
 
AIMODULE_API void UpdateDebuggerAfterExecution (const UBTTaskNode *TaskNode, uint16 InstanceIdx) const
 
AIMODULE_API EBTNodeRelativePriority CalculateRelativePriority (const UBTNode *NodeA, const UBTNode *NodeB) const
 
AIMODULE_API void EvaluateBranch (EBTNodeResult::Type LastResult)
 
AIMODULE_API void EvaluateBranch (const UBTDecorator &RequestedBy)
 
AIMODULE_API void ActivateBranch (const UBTDecorator &RequestedBy, bool bRequestEvenIfNotExecuting)
 
AIMODULE_API void DeactivateBranch (const UBTDecorator &RequestedBy)
 
AIMODULE_API void SuspendBranchActions (EBTBranchAction BranchActions=EBTBranchAction::All)
 
AIMODULE_API void ResumeBranchActions ()
 
void SuspendBranchDeactivation ()
 
void ResumeBranchDeactivation ()
 
void TickNewlyAddedAuxNodesHelper ()
 
- Protected Member Functions inherited from UActorComponent
virtual ENGINE_API bool ShouldActivate () const
 
virtual ENGINE_API bool ShouldAsyncCreatePhysicsState (UWorld *WorldContext) const
 
virtual ENGINE_API bool ShouldAsyncDestroyPhysicsState () const
 
virtual ENGINE_API void OnPreRegister ()
 
virtual ENGINE_API void OnPreRegistered ()
 
virtual ENGINE_API void OnPreUnregister ()
 
virtual ENGINE_API void OnPreUnregistered ()
 
virtual ENGINE_API void OnUnregister ()
 
virtual void PrecachePSOs ()
 
virtual bool ShouldCreateRenderState () const
 
virtual ENGINE_API void CreateRenderState_Concurrent (FRegisterComponentContext *Context)
 
virtual ENGINE_API void SendRenderTransform_Concurrent ()
 
virtual ENGINE_API void SendRenderDynamicData_Concurrent ()
 
virtual ENGINE_API void SendRenderInstanceData_Concurrent ()
 
virtual ENGINE_API void DestroyRenderState_Concurrent ()
 
virtual ENGINE_API void OnCreatePhysicsState ()
 
virtual ENGINE_API void OnDestroyPhysicsState ()
 
virtual bool ShouldCreatePhysicsState () const
 
virtual bool HasValidPhysicsState () const
 
ENGINE_API void HandleCanEverAffectNavigationChange (bool bForceUpdate=false)
 
ENGINE_API void SetAsyncPhysicsTickEnabled (bool bEnabled)
 
ENGINE_API void DeferRemoveAsyncPhysicsTick ()
 
ENGINE_API void SetIsReplicatedByDefault (const bool bNewReplicates)
 
ENGINE_API bool OwnerNeedsInitialization () const
 
ENGINE_API bool NeedsInitialization () const
 
- Protected Member Functions inherited from UObject
virtual FString GetDetailedInfoInternal () const
 
COREUOBJECT_API bool CanCheckDefaultSubObjects (bool bForceCheck, bool &bResult) const
 
virtual COREUOBJECT_API bool CheckDefaultSubobjectsInternal () const
 
- Protected Member Functions inherited from UObjectBase
 UObjectBase ()
 
COREUOBJECT_API UObjectBase (EObjectFlags InFlags)
 
COREUOBJECT_API void LowLevelRename (FName NewName, UObject *NewOuter=NULL)
 
virtual void RegisterDependencies ()
 
COREUOBJECT_API void Register (class UClass *(*StaticClassFn)(), const TCHAR *PackageName, const TCHAR *Name)
 
COREUOBJECT_API void Register (const TCHAR *PackageName, const TCHAR *Name)
 
virtual COREUOBJECT_API void DeferredRegister (UClass *UClassStaticClass, const TCHAR *PackageName, const TCHAR *Name)
 
FORCEINLINE void SetFlagsTo (EObjectFlags NewFlags)
 

Static Protected Member Functions

static AIMODULE_API bool IsDebuggerActive ()
 
- Static Protected Member Functions inherited from UActorComponent
static ENGINE_API bool CanBeHLODRelevant (const UActorComponent *ActorComponent)
 
static const FName GetReplicatesPropertyName ()
 

Protected Attributes

TArray< FBehaviorTreeInstanceInstanceStack
 
TArray< FBehaviorTreeInstanceIdKnownInstances
 
TArray< TObjectPtr< UBTNode > > NodeInstances
 
FBehaviorTreeSearchData SearchData
 
FBTNodeExecutionInfo ExecutionRequest
 
FBTPendingExecutionInfo PendingExecution
 
EBTBranchAction SuspendedBranchActions
 
TArray< FBranchActionInfoPendingBranchActionRequests
 
FBTTreeStartInfo TreeStartInfo
 
TMultiMap< FBTNodeIndex, FAIMessageObserverHandleTaskMessageObservers
 
TMap< FGameplayTag, doubleCooldownTagsMap
 
uint16 ActiveInstanceIdx
 
uint8 bLoopExecution: 1
 
uint8 bWaitingForLatentAborts: 1
 
uint8 bRequestedFlowUpdate: 1
 
uint8 bRequestedStop: 1
 
uint8 bIsRunning: 1
 
uint8 bIsPaused: 1
 
friend UBTNode
 
friend UBTCompositeNode
 
friend UBTTaskNode
 
friend UBTTask_RunBehavior
 
friend UBTTask_RunBehaviorDynamic
 
friend FBehaviorTreeDebugger
 
friend FBehaviorTreeInstance
 
TObjectPtr< UBehaviorTreeDefaultBehaviorTreeAsset
 
bool bTickedOnce = false
 
float NextTickDeltaTime = 0.f
 
float AccumulatedTickDeltaTime = 0.f
 
float CurrentFrameDeltaTime = 0.f
 
double LastRequestedDeltaTimeGameTime = 0
 
- Protected Attributes inherited from UBrainComponent
TObjectPtr< UBlackboardComponent > BlackboardComp
 
TObjectPtr< AAIControllerAIOwner
 
TArray< FAIMessageMessagesToProcess
 
TArray< FAIMessageObserver * > MessageObservers
 
FAIResourceLock ResourceLock
 
- Protected Attributes inherited from UActorComponent
TArray< TObjectPtr< UAssetUserData > > AssetUserData
 
EComponentRegistrationState RegistrationState
 
uint8 bRegistered:1
 
uint8 bRenderStateCreated:1
 
uint8 bRenderStateRecreating:1
 
uint8 bPhysicsStateCreated:1
 
uint8 bCallAsyncPhysicsStateCreatedDelegate:1
 
uint8 bNetAddressable:1
 
uint8 bReplicateUsingRegisteredSubObjectList: 1
 
uint8 bAllowReregistration:1
 
uint8 bCanEverAffectNavigation: 1
 

Static Protected Attributes

static AIMODULE_API bool bAddedEndFrameCallback = false
 
static AIMODULE_API double FrameSearchTime = 0.
 
static AIMODULE_API int32 NumSearchTimeCalls = 0
 

Additional Inherited Members

- Public Types inherited from UObject
enum class  ENetFields_Private { NETFIELD_REP_START = 0 , NETFIELD_REP_END = -1 }
 
typedef UObject WithinClass
 
- Public Attributes inherited from UActorComponent
struct FActorComponentTickFunction PrimaryComponentTick
 
TArray< FNameComponentTags
 
uint8 bAutoRegister:1
 
uint8 bTickInEditor:1
 
uint8 bNeverNeedsRenderUpdate:1
 
uint8 bAllowConcurrentTick:1
 
uint8 bAllowAnyoneToDestroyMe:1
 
uint8 bAutoActivate:1
 
uint8 bEditableWhenInherited:1
 
uint8 bNavigationRelevant: 1
 
uint8 bWantsInitializeComponent:1
 
uint8 bIsEditorOnly:1
 
EComponentCreationMethod CreationMethod
 
FActorComponentActivatedSignature OnComponentActivated
 
FActorComponentDeactivateSignature OnComponentDeactivated
 
- Static Public Attributes inherited from UBrainComponent
static AIMODULE_API const FName AIMessage_MoveFinished = TEXT("MoveFinished")
 
static AIMODULE_API const FName AIMessage_RepathFailed = TEXT("RepathFailed")
 
static AIMODULE_API const FName AIMessage_QueryFinished = TEXT("QueryFinished")
 
- Static Public Attributes inherited from UActorComponent
static ENGINE_API FActorComponentGlobalCreatePhysicsSignature GlobalCreatePhysicsDelegate
 
static ENGINE_API FActorComponentGlobalDestroyPhysicsSignature GlobalDestroyPhysicsDelegate
 
static ENGINE_API FTransactionallySafeRWLock AllUCSModifiedPropertiesLock
 
static ENGINE_API TMap< UActorComponent *, TArray< FSimpleMemberReference > > AllUCSModifiedProperties
 
static ENGINE_API const FString ComponentTemplateNameSuffix
 
static ENGINE_API FOnMarkRenderStateDirty MarkRenderStateDirtyEvent
 

Member Typedef Documentation

◆ FBTSuspendBranchDeactivationScoped

Constructor & Destructor Documentation

◆ UBehaviorTreeComponent()

UBehaviorTreeComponent::UBehaviorTreeComponent ( FVTableHelper Helper)

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

Member Function Documentation

◆ AbortCurrentTask()

void UBehaviorTreeComponent::AbortCurrentTask ( )
protected

abort currently executed task

◆ ActivateBranch()

void UBehaviorTreeComponent::ActivateBranch ( const UBTDecorator RequestedBy,
bool  bRequestEvenIfNotExecuting 
)
protected

Activate a branch as the decorator conditions are now passing

◆ AddCooldownTagDuration()

void UBehaviorTreeComponent::AddCooldownTagDuration ( FGameplayTag  CooldownTag,
float  CooldownDuration,
bool  bAddToExistingDuration 
)

add to the cooldown tag's duration

◆ AddReferencedObjects()

void UBehaviorTreeComponent::AddReferencedObjects ( UObject InThis,
FReferenceCollector Collector 
)
static

◆ ApplyAllSearchUpdates()

void UBehaviorTreeComponent::ApplyAllSearchUpdates ( const TArray< FBehaviorTreeSearchUpdate > &  UpdateList,
int32  NewNodeExecutionIndex,
bool  bDoPostUpdate = true,
bool  bAllowTaskUpdates = true 
)
protected

Apply updates and post update from specified UpdateList.

Parameters
bDoPostUpdateif true the post updates will also be processed.
bAllowTaskUpdatesIf false Task node updates will not be processed from the UpdateList.

◆ ApplyDiscardedSearch()

void UBehaviorTreeComponent::ApplyDiscardedSearch ( )
protected

apply pending node updates required for discarded search

◆ ApplySearchData()

void UBehaviorTreeComponent::ApplySearchData ( UBTNode NewActiveNode)
protected

apply pending node updates from SearchData

◆ ApplySearchUpdates()

void UBehaviorTreeComponent::ApplySearchUpdates ( const TArray< FBehaviorTreeSearchUpdate > &  UpdateList,
int32  NewNodeExecutionIndex,
bool  bPostUpdate = false 
)
protected

apply updates from specific list

◆ CalculateRelativePriority()

EBTNodeRelativePriority UBehaviorTreeComponent::CalculateRelativePriority ( const UBTNode NodeA,
const UBTNode NodeB 
) const
protected

Return NodeA's relative priority in regards to NodeB

◆ Cleanup()

void UBehaviorTreeComponent::Cleanup ( )
overridevirtual

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

Reimplemented from UBrainComponent.

◆ CopyInstanceMemoryFromPersistent()

void UBehaviorTreeComponent::CopyInstanceMemoryFromPersistent ( )
protected

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

◆ CopyInstanceMemoryToPersistent()

void UBehaviorTreeComponent::CopyInstanceMemoryToPersistent ( )
protected

copy memory block from running instances to persistent memory

◆ DeactivateBranch()

void UBehaviorTreeComponent::DeactivateBranch ( const UBTDecorator RequestedBy)
protected

Deactivate a branch as the decorator conditions are not passing anymore

◆ DeactivateUpTo()

bool UBehaviorTreeComponent::DeactivateUpTo ( const UBTCompositeNode Node,
uint16  NodeInstanceIdx,
EBTNodeResult::Type NodeResult,
int32 OutLastDeactivatedChildIndex 
)
protected

deactivate all nodes up to requested one

◆ DescribeActiveTasks()

FString UBehaviorTreeComponent::DescribeActiveTasks ( ) const
virtual

◆ DescribeActiveTrees()

FString UBehaviorTreeComponent::DescribeActiveTrees ( ) const
virtual

◆ EndFrame()

void UBehaviorTreeComponent::EndFrame ( )
static

◆ EvaluateBranch() [1/2]

void UBehaviorTreeComponent::EvaluateBranch ( const UBTDecorator RequestedBy)
protected

Evaluate a branch as the decorator conditions have changed

◆ EvaluateBranch() [2/2]

void UBehaviorTreeComponent::EvaluateBranch ( EBTNodeResult::Type  LastResult)
protected

Evaluate a branch as current active node is finished

◆ ExecuteTask()

void UBehaviorTreeComponent::ExecuteTask ( UBTTaskNode TaskNode)
protected

execute new task

◆ FindInstanceContainingNode()

int32 UBehaviorTreeComponent::FindInstanceContainingNode ( const UBTNode Node) const

tries to find behavior tree instance in context

◆ FindTemplateNode()

UBTNode * UBehaviorTreeComponent::FindTemplateNode ( const UBTNode Node) const

tries to find template node for given instanced node

◆ ForEachChildTask() [1/2]

AIMODULE_API void UBehaviorTreeComponent::ForEachChildTask ( TFunctionRef< void(UBTTaskNode &, const FBehaviorTreeInstance &, int32 InstanceIndex)>  Functor)

Will call the given functor on each task node in the current instance stacks.

◆ ForEachChildTask() [2/2]

void UBehaviorTreeComponent::ForEachChildTask ( UBTCompositeNode StartNode,
int32  InstanceIndex,
TFunctionRef< void(UBTTaskNode &, const FBehaviorTreeInstance &, int32 InstanceIndex)>  Functor 
)

Will call the given functor on each child node from the given start node. InstanceIndex can be found using FindInstanceContainingNode.

◆ GetAccumulatedTickDeltaTime()

float UBehaviorTreeComponent::GetAccumulatedTickDeltaTime ( ) const
inline

Returns the accumulated delta time for the current tick

◆ GetActiveInstanceIdx()

uint16 UBehaviorTreeComponent::GetActiveInstanceIdx ( ) const
inline

get index of active instance on stack

◆ GetActiveNode()

const UBTNode * UBehaviorTreeComponent::GetActiveNode ( ) const
inline
Returns
active node

◆ GetCurrentTree()

UBehaviorTree * UBehaviorTreeComponent::GetCurrentTree ( ) const
inline
Returns
current tree

◆ GetDebugInfoString()

FString UBehaviorTreeComponent::GetDebugInfoString ( ) const
overridevirtual

Reimplemented from UBrainComponent.

◆ GetNodeMemory()

uint8 * UBehaviorTreeComponent::GetNodeMemory ( const UBTNode Node,
int32  InstanceIdx 
) const
Returns
node memory

◆ GetRootTree()

UBehaviorTree * UBehaviorTreeComponent::GetRootTree ( ) const
inline
Returns
tree from top of instance stack

◆ GetTagCooldownEndTime()

double UBehaviorTreeComponent::GetTagCooldownEndTime ( FGameplayTag  CooldownTag) const
Returns
the cooldown tag end time, 0.0f if CooldownTag is not found

◆ GetTaskStatus()

EBTTaskStatus::Type UBehaviorTreeComponent::GetTaskStatus ( const UBTTaskNode TaskNode) const
Returns
status of speficied task

◆ HandleMessage()

void UBehaviorTreeComponent::HandleMessage ( const FAIMessage Message)
overridevirtual

Reimplemented from UBrainComponent.

◆ HasActiveLatentAborts()

bool UBehaviorTreeComponent::HasActiveLatentAborts ( ) const
protected

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

◆ IsAbortPending()

bool UBehaviorTreeComponent::IsAbortPending ( ) const
inline
Returns
true if waiting for abort to finish

◆ IsAuxNodeActive() [1/2]

bool UBehaviorTreeComponent::IsAuxNodeActive ( const UBTAuxiliaryNode AuxNode) const
Returns
true if aux node is currently active

◆ IsAuxNodeActive() [2/2]

bool UBehaviorTreeComponent::IsAuxNodeActive ( const UBTAuxiliaryNode AuxNodeTemplate,
int32  InstanceIdx 
) const

◆ IsDebuggerActive()

bool UBehaviorTreeComponent::IsDebuggerActive ( )
staticprotected

check if debugger is currently running and can gather data

◆ IsExecutingBranch()

bool UBehaviorTreeComponent::IsExecutingBranch ( const UBTNode Node,
int32  ChildIndex = -1 
) const
Returns
true if active node is one of child nodes of given one

◆ IsInstanceStackEmpty()

bool UBehaviorTreeComponent::IsInstanceStackEmpty ( ) const
inline

Returns true if InstanceStack contains any BT runtime instances

◆ IsPaused()

bool UBehaviorTreeComponent::IsPaused ( ) const
overridevirtual

Reimplemented from UBrainComponent.

◆ IsRestartPending()

bool UBehaviorTreeComponent::IsRestartPending ( ) const
inline
Returns
true if ExecutionRequest is switching to higher priority node

◆ IsRunning()

bool UBehaviorTreeComponent::IsRunning ( ) const
overridevirtual

Reimplemented from UBrainComponent.

◆ OnTaskFinished()

void UBehaviorTreeComponent::OnTaskFinished ( const UBTTaskNode TaskNode,
EBTNodeResult::Type  TaskResult 
)

finish latent execution or abort

◆ OnTreeFinished()

void UBehaviorTreeComponent::OnTreeFinished ( )
protectedvirtual

called when tree runs out of nodes to execute

◆ ProcessExecutionRequest()

void UBehaviorTreeComponent::ProcessExecutionRequest ( )

process execution flow

◆ ProcessPendingExecution()

void UBehaviorTreeComponent::ProcessPendingExecution ( )
protected

apply pending execution from last task search

◆ ProcessPendingInitialize()

void UBehaviorTreeComponent::ProcessPendingInitialize ( )
protected

apply pending tree initialization

◆ PushInstance()

bool UBehaviorTreeComponent::PushInstance ( UBehaviorTree TreeAsset)
protected

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

◆ RegisterMessageObserver() [1/2]

void UBehaviorTreeComponent::RegisterMessageObserver ( const UBTTaskNode TaskNode,
FName  MessageType 
)

setup message observer for given task

◆ RegisterMessageObserver() [2/2]

void UBehaviorTreeComponent::RegisterMessageObserver ( const UBTTaskNode TaskNode,
FName  MessageType,
FAIRequestID  MessageID 
)

◆ RegisterParallelTask()

void UBehaviorTreeComponent::RegisterParallelTask ( const UBTTaskNode TaskNode)

add active parallel task

◆ RemoveAllInstances()

void UBehaviorTreeComponent::RemoveAllInstances ( )
protected

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

◆ RequestBranchActivation()

void UBehaviorTreeComponent::RequestBranchActivation ( const UBTDecorator RequestedBy,
const bool  bRequestEvenIfExecuting 
)

request branch activation: helper for decorator

◆ RequestBranchDeactivation()

void UBehaviorTreeComponent::RequestBranchDeactivation ( const UBTDecorator RequestedBy)

request branch deactivation: helper for decorator

◆ RequestBranchEvaluation() [1/2]

void UBehaviorTreeComponent::RequestBranchEvaluation ( const UBTDecorator RequestedBy)

request branch evaluation: helper for decorator

◆ RequestBranchEvaluation() [2/2]

void UBehaviorTreeComponent::RequestBranchEvaluation ( EBTNodeResult::Type  ContinueWithResult)

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

◆ RequestExecution() [1/3]

void UBehaviorTreeComponent::RequestExecution ( const UBTCompositeNode RequestedOn,
const int32  InstanceIdx,
const UBTNode RequestedBy,
const int32  RequestedByChildIndex,
const EBTNodeResult::Type  ContinueWithResult,
bool  bStoreForDebugger = true 
)

request execution change

◆ RequestExecution() [2/3]

void UBehaviorTreeComponent::RequestExecution ( const UBTDecorator RequestedBy)
inline

replaced by the RequestBranchEvaluation from decorator

◆ RequestExecution() [3/3]

void UBehaviorTreeComponent::RequestExecution ( EBTNodeResult::Type  ContinueWithResult)
inline

replaced by RequestBranchEvaluation with EBTNodeResult

◆ RequestUnregisterAuxNodesInBranch()

void UBehaviorTreeComponent::RequestUnregisterAuxNodesInBranch ( const UBTCompositeNode Node)

request unregistration of aux nodes in the specified branch

◆ RestartTree()

void UBehaviorTreeComponent::RestartTree ( EBTRestartMode  RestartMode = EBTRestartMode::ForceReevaluateRootNode)

restarts execution from root

Parameters
RestartModeto force the reevaluation of the root node, which could skip active nodes that are removed and then readded (default) or a complete restart from scratch of the tree (equivalent of StopTree then StartTree)

◆ ResumeBranchActions()

void UBehaviorTreeComponent::ResumeBranchActions ( )
protected

Resume branch actions and execute all the queued up ones

◆ ResumeBranchDeactivation()

void UBehaviorTreeComponent::ResumeBranchDeactivation ( )
inlineprotected

◆ RollbackSearchChanges()

void UBehaviorTreeComponent::RollbackSearchChanges ( )
protected

restore state of tree to state before search

◆ ScheduleExecutionUpdate()

void UBehaviorTreeComponent::ScheduleExecutionUpdate ( )

schedule execution flow update in next tick

◆ ScheduleNextTick()

void UBehaviorTreeComponent::ScheduleNextTick ( float  NextDeltaTime)

END UActorComponent overrides Schedule when will be the next tick, 0.0f means next frame, FLT_MAX means never

◆ SetDynamicSubtree() [1/2]

void UBehaviorTreeComponent::SetDynamicSubtree ( FGameplayTag  InjectTag,
UBehaviorTree BehaviorAsset 
)
virtual

assign subtree to RunBehaviorDynamic task specified by tag.

◆ SetDynamicSubtree() [2/2]

void UBehaviorTreeComponent::SetDynamicSubtree ( FGameplayTag  InjectTag,
UBehaviorTree BehaviorAsset,
UBTCompositeNode OptionalStartingNode 
)
virtual

assign subtree to RunBehaviorDynamic task specified by tag. Optional Starting Node can be given if the location in the tree is known to avoid parsing the whole tree.

◆ StartTree()

void UBehaviorTreeComponent::StartTree ( UBehaviorTree Asset,
EBTExecutionMode::Type  ExecuteMode = EBTExecutionMode::Looped 
)

starts execution from root

◆ StopTree()

void UBehaviorTreeComponent::StopTree ( EBTStopMode::Type  StopMode = EBTStopMode::Safe)

stops execution

◆ StoreDebuggerBlackboard()

void UBehaviorTreeComponent::StoreDebuggerBlackboard ( TMap< FName, FString > &  BlackboardValueDesc) const
protected

describe blackboard's key values

◆ StoreDebuggerExecutionStep()

void UBehaviorTreeComponent::StoreDebuggerExecutionStep ( EBTExecutionSnap::Type  SnapType)
protected

make a snapshot for debugger

◆ StoreDebuggerInstance()

void UBehaviorTreeComponent::StoreDebuggerInstance ( FBehaviorTreeDebuggerInstance InstanceInfo,
uint16  InstanceIdx,
EBTExecutionSnap::Type  SnapType 
) const
protected

make a snapshot for debugger from given subtree instance

◆ StoreDebuggerRemovedInstance()

void UBehaviorTreeComponent::StoreDebuggerRemovedInstance ( uint16  InstanceIdx) const
protected

◆ StoreDebuggerRestart()

void UBehaviorTreeComponent::StoreDebuggerRestart ( const UBTNode Node,
uint16  InstanceIdx,
bool  bAllowed 
)
protected

store restarting node for debugger

◆ StoreDebuggerRuntimeValues()

void UBehaviorTreeComponent::StoreDebuggerRuntimeValues ( TArray< FString > &  RuntimeDescriptions,
UBTNode RootNode,
uint16  InstanceIdx 
) const
protected

gather nodes runtime descriptions

◆ StoreDebuggerSearchStep() [1/2]

void UBehaviorTreeComponent::StoreDebuggerSearchStep ( const UBTNode Node,
uint16  InstanceIdx,
bool  bPassed 
) const
protected

◆ StoreDebuggerSearchStep() [2/2]

void UBehaviorTreeComponent::StoreDebuggerSearchStep ( const UBTNode Node,
uint16  InstanceIdx,
EBTNodeResult::Type  NodeResult 
) const
protected

store search step for debugger

◆ SuspendBranchActions()

void UBehaviorTreeComponent::SuspendBranchActions ( EBTBranchAction  BranchActions = EBTBranchAction::All)
protected

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

◆ SuspendBranchDeactivation()

void UBehaviorTreeComponent::SuspendBranchDeactivation ( )
inlineprotected

◆ TickComponent()

void UBehaviorTreeComponent::TickComponent ( float  DeltaTime,
enum ELevelTick  TickType,
FActorComponentTickFunction ThisTickFunction 
)
overridevirtual

BEGIN UActorComponent overrides

Reimplemented from UBrainComponent.

◆ TickNewlyAddedAuxNodesHelper()

void UBehaviorTreeComponent::TickNewlyAddedAuxNodesHelper ( )
protected

◆ TrackNewLatentAborts()

void UBehaviorTreeComponent::TrackNewLatentAborts ( )
protected

tracks if there are new tasks using latent abort in progress

◆ TrackPendingLatentAborts()

bool UBehaviorTreeComponent::TrackPendingLatentAborts ( )
protected

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

◆ UninitializeComponent()

void UBehaviorTreeComponent::UninitializeComponent ( )
overridevirtual

Handle this component being Uninitialized. Called from AActor::EndPlay only if bHasBeenInitialized is true

Reimplemented from UActorComponent.

◆ UnregisterAuxNodesInBranch()

void UBehaviorTreeComponent::UnregisterAuxNodesInBranch ( const UBTCompositeNode Node,
bool  bApplyImmediately = true 
)

unregister all aux nodes in branch of tree

◆ UnregisterAuxNodesInRange()

void UBehaviorTreeComponent::UnregisterAuxNodesInRange ( const FBTNodeIndex FromIndex,
const FBTNodeIndex ToIndex 
)

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

◆ UnregisterAuxNodesUpTo()

void UBehaviorTreeComponent::UnregisterAuxNodesUpTo ( const FBTNodeIndex Index)

unregister all aux nodes less important than given index

◆ UnregisterMessageObserversFrom() [1/2]

void UBehaviorTreeComponent::UnregisterMessageObserversFrom ( const FBTNodeIndex TaskIdx)

◆ UnregisterMessageObserversFrom() [2/2]

void UBehaviorTreeComponent::UnregisterMessageObserversFrom ( const UBTTaskNode TaskNode)

remove message observers registered with task

◆ UnregisterParallelTask()

void UBehaviorTreeComponent::UnregisterParallelTask ( const UBTTaskNode TaskNode,
uint16  InstanceIdx 
)

remove parallel task

◆ UpdateDebuggerAfterExecution()

void UBehaviorTreeComponent::UpdateDebuggerAfterExecution ( const UBTTaskNode TaskNode,
uint16  InstanceIdx 
) const
protected

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

◆ UpdateInstanceId()

uint8 UBehaviorTreeComponent::UpdateInstanceId ( UBehaviorTree TreeAsset,
const UBTNode OriginNode,
int32  OriginInstanceIdx 
)
protected

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

Member Data Documentation

◆ AccumulatedTickDeltaTime

float UBehaviorTreeComponent::AccumulatedTickDeltaTime = 0.f
protected

Accumulated DeltaTime if ticked more than predicted next delta time

◆ ActiveInstanceIdx

uint16 UBehaviorTreeComponent::ActiveInstanceIdx
protected

index of last active instance on stack

◆ bAddedEndFrameCallback

bool UBehaviorTreeComponent::bAddedEndFrameCallback = false
staticprotected

◆ bIsPaused

uint8 UBehaviorTreeComponent::bIsPaused
protected

if set, execution requests will be postponed

◆ bIsRunning

uint8 UBehaviorTreeComponent::bIsRunning
protected

if set, tree execution is allowed

◆ bLoopExecution

uint8 UBehaviorTreeComponent::bLoopExecution
protected

loops tree execution

◆ bRequestedFlowUpdate

uint8 UBehaviorTreeComponent::bRequestedFlowUpdate
protected

set when execution update is scheduled for next tick

◆ bRequestedStop

uint8 UBehaviorTreeComponent::bRequestedStop
protected

set when tree stop was called

◆ bTickedOnce

bool UBehaviorTreeComponent::bTickedOnce = false
protected

Used to tell tickmanager that we want interval ticking

◆ bWaitingForLatentAborts

uint8 UBehaviorTreeComponent::bWaitingForLatentAborts
protected

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

◆ CooldownTagsMap

TMap<FGameplayTag, double> UBehaviorTreeComponent::CooldownTagsMap
protected

behavior cooldowns mapped by tag to last time it was set

◆ CurrentFrameDeltaTime

float UBehaviorTreeComponent::CurrentFrameDeltaTime = 0.f
protected

Current frame DeltaTime

◆ DefaultBehaviorTreeAsset

TObjectPtr<UBehaviorTree> UBehaviorTreeComponent::DefaultBehaviorTreeAsset
protected

data asset defining the tree

◆ ExecutionRequest

FBTNodeExecutionInfo UBehaviorTreeComponent::ExecutionRequest
protected

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

◆ FBehaviorTreeDebugger

friend UBehaviorTreeComponent::FBehaviorTreeDebugger
protected

◆ FBehaviorTreeInstance

friend UBehaviorTreeComponent::FBehaviorTreeInstance
protected

◆ FrameSearchTime

double UBehaviorTreeComponent::FrameSearchTime = 0.
staticprotected

◆ InstanceStack

TArray<FBehaviorTreeInstance> UBehaviorTreeComponent::InstanceStack
protected

stack of behavior tree instances

◆ KnownInstances

TArray<FBehaviorTreeInstanceId> UBehaviorTreeComponent::KnownInstances
protected

list of known subtree instances

◆ LastRequestedDeltaTimeGameTime

double UBehaviorTreeComponent::LastRequestedDeltaTimeGameTime = 0
protected

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

◆ NextTickDeltaTime

float UBehaviorTreeComponent::NextTickDeltaTime = 0.f
protected

Predicted next DeltaTime

◆ NodeInstances

TArray<TObjectPtr<UBTNode> > UBehaviorTreeComponent::NodeInstances
protected

instanced nodes

◆ NumSearchTimeCalls

int32 UBehaviorTreeComponent::NumSearchTimeCalls = 0
staticprotected

◆ PendingBranchActionRequests

TArray<FBranchActionInfo> UBehaviorTreeComponent::PendingBranchActionRequests
protected

list of all pending branch action requests

◆ PendingExecution

FBTPendingExecutionInfo UBehaviorTreeComponent::PendingExecution
protected

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

◆ SearchData

FBehaviorTreeSearchData UBehaviorTreeComponent::SearchData
protected

search data being currently used

◆ SuspendedBranchActions

EBTBranchAction UBehaviorTreeComponent::SuspendedBranchActions
protected

◆ TaskMessageObservers

TMultiMap<FBTNodeIndex,FAIMessageObserverHandle> UBehaviorTreeComponent::TaskMessageObservers
protected

message observers mapped by instance & execution index

◆ TreeStartInfo

FBTTreeStartInfo UBehaviorTreeComponent::TreeStartInfo
protected

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

◆ UBTCompositeNode

friend UBehaviorTreeComponent::UBTCompositeNode
protected

◆ UBTNode

friend UBehaviorTreeComponent::UBTNode
protected

◆ UBTTask_RunBehavior

friend UBehaviorTreeComponent::UBTTask_RunBehavior
protected

◆ UBTTask_RunBehaviorDynamic

friend UBehaviorTreeComponent::UBTTask_RunBehaviorDynamic
protected

◆ UBTTaskNode

friend UBehaviorTreeComponent::UBTTaskNode
protected

The documentation for this class was generated from the following files: