code: FCompactStateTransition()


className: FCompactStateTransition

description: Runtime representation of a StateTree transition.

module: StateTreeModule

bTransitionEnabled

type: uint8:  1

description: Indicates if the transition is enabled and should be considered.

ConditionsBegin

description: Indexto first condition to test

ConditionsNum

description: Number of conditions to test.

Delay

type: FStateTreeRando...

description: Transition delay.

EventTag

type: FGameplayTag

description: Transition event tag, used when trigger type is event.

Priority

type: EStateTreeTrans...

description: Priority of the transition.

State

type: FStateTreeState...

description: Target state of the transition

Trigger

description: Type of the transition trigger.


className: FCompactStateTreeParameters

BindingsBatch

type: FStateTreeIndex...

Parameters

type: FInstancedPrope...


description: Indexto the next sibling state.

code: uint16 GetNextSibling() const


className: EStateTreeUpdatePhase

description: Enumeration for the different update phases. This is used as context information when tracing debug events.

code: enum EStateTreeUpdatePhase { Unset = 0, StartTree, StopTree, StartGlobalTasks, StopGlobalTasks, TickStateTree, ApplyTransitions, TriggerTransitions, TickingGlobalTasks, TickingTasks, TransitionConditions, StateSelection, EnterConditions, EnterStates, ExitStates, }


description: True if the state has any child states

code: bool HasChildren() const


className: FCompactStateTreeState

description: Runtime representation of a StateTree state.

bEnabled

description: True if the state is Enabled (i.e. not explicitly marked as disabled).

bHasTransitionTasks

description: True if the state contains tasks that should be called during transition handling.

ChildrenBegin

description: Indexto first child state

ChildrenEnd

description: Indexone past the last child state.

EnterConditionsBegin

description: Indexto first state enter condition

EnterConditionsNum

description: Number of enter conditions

LinkedState

description: Linked state handle if the state type is linked state.

Name

type: FName

description: Name of the State

ParameterDataViewIndex

description: Data view index of the input parameters.

ParameterInstanceIndex

description: Indexto state instance data.

Parent

description: Parent state handle, invalid if root state.

SelectionBehavior

type: EStateTreeState...

description: What to do when the state is considered for selection.

TaskInstanceObjectNum

description: Number of tasks with object instance data.

TaskInstanceStructNum

description: Number of tasks with struct instance data.

TasksBegin

description: Indexto first task

TasksNum

description: Number of tasks

TransitionsBegin

description: Indexto first transition

TransitionsNum

description: Number of transitions

Type

description: Type of the state


className: FOnBreakpointsChanged

description: Called when breakpoints of the StateTree EditorData changed. This should mainly used by the asset editor to update the debugger.

code: typedef TMulticastDelegate_OneParam< void, const [UStateTree](API\Plugins\StateTreeModule\UStateTree) & > FOnBreakpointsChanged


className: FOnIdentifierChanged

description: Called when linkable name in a StateTree has changed.

code: typedef TMulticastDelegate_OneParam< void, const [UStateTree](API\Plugins\StateTreeModule\UStateTree) & > FOnIdentifierChanged


className: FOnPostCompile

description: Called when compilation succeeds

code: typedef TMulticastDelegate_OneParam< void, const [UStateTree](API\Plugins\StateTreeModule\UStateTree) & > FOnPostCompile


className: FOnParametersChanged

description: Called when parameters of the StateTree EditorData changed. This should mainly used by the asset editor to maintain consistency in the UI for manipulations on the EditorData until the tree gets compiled.

code: typedef TMulticastDelegate_OneParam< void, const [UStateTree](API\Plugins\StateTreeModule\UStateTree) & > FOnParametersChanged


className: FOnRequestCompile

description: Request StateTree compilation. Works only in editor.

code: typedef TBaseDelegate_OneParam< bool, [UStateTree](API\Plugins\StateTreeModule\UStateTree) & > FOnRequestCompile


className: FOnSchemaChanged

description: Called when schema of the StateTree EditorData has changed. This is used to refresh the asset editor. Note that this is NOT called when updating the StateTree schema from the EditorData on successful compilation.

code: typedef TMulticastDelegate_OneParam< void, const [UStateTree](API\Plugins\StateTreeModule\UStateTree) & > FOnSchemaChanged


className: FOnStateParametersChanged

description: Called when parameters of a StateTree State changed. This should mainly used by the asset editor to maintain consistency in the UI for manipulations.

code: typedef TMulticastDelegate_TwoParams< void, const [UStateTree](API\Plugins\StateTreeModule\UStateTree) &, const [FGuid](API\Runtime\Core\Misc\FGuid) > FOnStateParametersChanged


description: DO NOT USE DIRECTLY STL-like iterators to enable range-based for loop support.


code: const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) * begin() const


description: Returns true of the array contains specified state.

code: bool Contains ( const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) StateHandle ) const


code: const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) * end() const


description: Returns a specified state in the array, or FStateTreeStateHandle::Invalid ifIndexis out of array bounds.

code: [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) GetStateSafe ( const int32 Index ) const


description: Returns index of a state, searching in reverse order.

code: int32 IndexOfReverse ( const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) StateHandle ) const


description: Returns true if the index is within array bounds.

code: bool IsValidIndex ( const int32 Index ) const


description: Returns last state in the array, or invalid state if the array is empty.


description: Returns true if the array is empty.

code: bool IsEmpty() const


className: MaxStates

code: static constexpr uint8 MaxStates = 8;


description: Returns number of states in the array.

code: int32 Num() const


description: Returns a specified state in the array.

code: [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) operator[] ( const int32 Index ) const


description: Returns mutable reference to a specified state in the array.

code: [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) & operator[] ( const int32 Index )


description: Pops a state from the back of the array and returns the popped value, or invalid handle if the array was empty.


description: Pushes new state at the back of the array and returns true if there was enough space.

code: bool Push ( const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) StateHandle )


description: Pushes new state at the front of the array and returns true if there was enough space.

code: bool PushFront ( const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) StateHandle )


description: Resets the active state array to empty.

code: void Reset()


description: Sets the number of states, new states are set to invalid state.

code: void SetNum ( const int32 NewNum )


code: FStateTreeActiveStates ( const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) StateHandle )


className: FStateTreeActiveStates

description: Describes an array of active states in a State Tree.


description: Initializes the class and value to specific enum. The value is set to the first value of the enum or 0 if class is null

code: void Initialize ( [UEnum](API\Runtime\CoreUObject\UObject\UEnum) * NewEnum )


code: bool operator== ( const [FStateTreeAnyEnum](API\Plugins\StateTreeModule\FStateTreeAnyEnum) & RHS ) const


code: bool operator!= ( const [FStateTreeAnyEnum](API\Plugins\StateTreeModule\FStateTreeAnyEnum) & RHS ) const


className: FStateTreeAnyEnum

description: Enum that can be any type in the UI. Helper class to deal with any enum in property binding.

Enum

type: TObjectPtr<UEn...

description: The enum class associated with this enum.

Value

description: The enum integer value.


code: bool operator== ( const [FStateTreeBindableStructDesc](API\Plugins\StateTreeModule\FStateTreeBindableStructDesc) & RHS ) const


code: FStateTreeBindableStructDesc()


code: FStateTreeBindableStructDesc ( const [FName](API\Runtime\Core\UObject\FName) InName, const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * InStruct, const [EStateTreeBindableStructSource](API\Plugins\StateTreeModule\EStateTreeBindableStructSource) InDataSource, const [FGuid](API\Runtime\Core\Misc\FGuid) InGuid )


className: FStateTreeBindableStructDesc

description: Descriptor for a struct or class that can be a binding source or target. Each struct has unique identifier, which is used to distinguish them, and name that is mostly for debugging and UI.

DataSource

type: EStateTreeBinda...

ID

type: FGuid

description: Unique identifier of the struct.

Name

description: Name of the container (cosmetic).

Struct

type: TObjectPtr< con...

description: The type of the struct or class.


className: FStateTreeConditionBase

description: Base struct for all conditions.

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)(Meta=(Hidden)) struct FStateTreeConditionBase : public [FStateTreeNodeBase](API\Plugins\StateTreeModule\FStateTreeNodeBase)

EvaluationMode

type: EStateTreeCondi...


description: True if the condition passes.

code: virtual bool TestCondition ( [FStateTreeExecutionContext](API\Plugins\StateTreeModule\FStateTreeExecutionContext) & Context ) const


className: FStateTreeConditionCommonBase

description: Base class (namespace) for all common Conditions that are generally applicable. This allows schemas to safely include all conditions child of this struct.

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)(Meta=(Hidden)) struct FStateTreeConditionCommonBase : public [FStateTreeConditionBase](API\Plugins\StateTreeModule\FStateTreeConditionBase)


className: GUID

description: The GUID for this custom version number

code: static const [FGuid](API\Runtime\Core\Misc\FGuid) GUID;


className: FStateTreeCustomVersion

description: No constructors are accessible with public or protected access.

code: struct FStateTreeCustomVersion


className: Type

code: enum Type { BeforeCustomVersionWasAdded = 0, SharedInstanceData, GlobalEvaluators, InstanceDataArrays, IndexTypes, AddedEvents, AddedFoo, TransitionDelay, AddedExternalTransitions, ChangedBindingsRepresentation, AddedTransitionIds, VersionPlusOne, LatestVersion = VersionPlusOne - 1, }


description: UOBJECT() getters (reference & pointer, const & mutable)

code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsDerivedFrom](API\Runtime\Core\Templates\TIsDerivedFrom)< T, [UObject](API\Runtime\CoreUObject\UObject\UObject) >::IsDerived, const T & >::Type Get() const


description: USTRUCT() getters (reference & pointer, const & mutable)

code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<![TIsDerivedFrom](API\Runtime\Core\Templates\TIsDerivedFrom)< T, [UObject](API\Runtime\CoreUObject\UObject\UObject) >::IsDerived, const T & >::Type Get() const


description: Raw const pointer to the data.

code: const uint8 * GetMemory() const


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<![TIsDerivedFrom](API\Runtime\Core\Templates\TIsDerivedFrom)< T, [UObject](API\Runtime\CoreUObject\UObject\UObject) >::IsDerived, T & >::Type GetMutable() const


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsDerivedFrom](API\Runtime\Core\Templates\TIsDerivedFrom)< T, [UObject](API\Runtime\CoreUObject\UObject\UObject) >::IsDerived, T & >::Type GetMutable() const


description: Raw mutable pointer to the data.

code: uint8 * GetMutableMemory() const


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<![TIsDerivedFrom](API\Runtime\Core\Templates\TIsDerivedFrom)< T, [UObject](API\Runtime\CoreUObject\UObject\UObject) >::IsDerived, T * >::Type GetMutablePtr() const


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsDerivedFrom](API\Runtime\Core\Templates\TIsDerivedFrom)< T, [UObject](API\Runtime\CoreUObject\UObject\UObject) >::IsDerived, T * >::Type GetMutablePtr() const


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsDerivedFrom](API\Runtime\Core\Templates\TIsDerivedFrom)< T, [UObject](API\Runtime\CoreUObject\UObject\UObject) >::IsDerived, const T * >::Type GetPtr() const


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<![TIsDerivedFrom](API\Runtime\Core\Templates\TIsDerivedFrom)< T, [UObject](API\Runtime\CoreUObject\UObject\UObject) >::IsDerived, const T * >::Type GetPtr() const


description: Struct describing the data type.

code: const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * GetStruct() const


description:
Check is the view is valid (both pointer and type are set). On valid views it is safe to call theGet<>()methods returning a reference.
True if the view is valid.

code: bool IsValid() const


description: UOBJECT() constructor.

code: FStateTreeDataView ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object )


description: USTRUCT() from a StructView.

code: FStateTreeDataView ( [FStructView](API\Plugins\StructUtils\FStructView) StructView )


description: USTRUCT() constructor.

code: FStateTreeDataView ( const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * InStruct, uint8 * InMemory )


className: FStateTreeDataView

description: Short lived pointer to an UOBJECT() or USTRUCT(). The data view expects a type (UStruct) when you pass in a valid memory. In case of null, the type can be empty too.

code: struct FStateTreeDataView

Memory

type: uint8 *

description: Memory pointing at the class or struct

Struct

type: constUStruct&...

description: UClassorUScriptStructof the data.


className: FStateTreeEditorPropertyPath

description: Deprecated* UseFStateTreePropertyPathinstead.

code: FStateTreeEditorPropertyPath ( const [FGuid](API\Runtime\Core\Misc\FGuid) & InStructID, const TCHAR * PropertyName )


description: Called each frame to update the evaluator.

code: virtual void Tick ( [FStateTreeExecutionContext](API\Plugins\StateTreeModule\FStateTreeExecutionContext) & Context, const float DeltaTime ) const


description: Called when StateTree is started.

code: virtual void TreeStart ( [FStateTreeExecutionContext](API\Plugins\StateTreeModule\FStateTreeExecutionContext) & Context ) const


description: Called when StateTree is stopped.

code: virtual void TreeStop ( [FStateTreeExecutionContext](API\Plugins\StateTreeModule\FStateTreeExecutionContext) & Context ) const


className: FStateTreeEvaluatorBase

description: Base struct of StateTree Evaluators. Evaluators calculate and expose data to be used for decision making in a StateTree.

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)(Meta=(Hidden)) struct FStateTreeEvaluatorBase : public [FStateTreeNodeBase](API\Plugins\StateTreeModule\FStateTreeNodeBase)


className: FStateTreeEvaluatorCommonBase

description: Base class (namespace) for all common Evaluators that are generally applicable. This allows schemas to safely include all Evaluators child of this struct.

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)(Meta=(Hidden)) struct FStateTreeEvaluatorCommonBase : public [FStateTreeEvaluatorBase](API\Plugins\StateTreeModule\FStateTreeEvaluatorBase)


code: FStateTreeEvent ( const [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) InTag )


code: FStateTreeEvent ( const [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) InTag, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) InPayload, const [FName](API\Runtime\Core\UObject\FName) InOrigin )


className: FStateTreeEvent

description: StateTree event with payload.

Origin

description: Optional info to describe who sent the event.

Payload

type: FInstancedStruc...

description: Optional payload for the event.

Tag

description: Tag describing the event


description: Used byFStateTreeExecutionStateto implement deprecated functionality.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FStateTreeEvent](API\Plugins\StateTreeModule\FStateTreeEvent) > & GetEventsArray()


description: const view to all the events in the buffer.

code: TConstArrayView< [FStateTreeEvent](API\Plugins\StateTreeModule\FStateTreeEvent) > GetEvents() const


className: MaxActiveEvents

description: Maximum number of events that can be buffered.

code: static constexpr int32 MaxActiveEvents = 64;


description: Resets the events in the event queue

code: void Reset()


description: Buffers and event to be sent to the State Tree.

code: void SendEvent ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner, const [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) & Tag, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) Payload, const [FName](API\Runtime\Core\UObject\FName) Origin )


className: FStateTreeEventQueue

description: Event queue buffering all the events to be processed by a State Tree.

Events

type: TArray<FStateT...


description: True if all required external data pointers are set.

code: bool AreExternalDataViewsValid() const


description: Callback when delayed transition is triggered. Contexts that are event based can use this to trigger a future event.

code: virtual void BeginDelayedTransition ( const [FStateTreeTransitionDelayedState](API\Plugins\StateTreeModule\FStateTreeTransitionDelayedState) & DelayedState )


description: Deprecated* UseBeginDelayedTransition()instead.

code: virtual void BeginGatedTransition ( const [FStateTreeExecutionState](API\Plugins\StateTreeModule\FStateTreeExecutionState) & Exec )


description: String describing all events that are currently being processed for logging and debug.


description: String describing full path of an activate state for logging and debug.

code: [FString](API\Runtime\Core\Containers\FString) DebugGetStatePath ( const [FStateTreeActiveStates](API\Plugins\StateTreeModule\FStateTreeActiveStates) & ActiveStates, const int32 ActiveStateIndex ) const


code: void DebugPrintInternalLayout()


description:
Handles logic for entering State. EnterState is called on new active Evaluators and Tasks that are part of the re-planned tree. Re-planned tree is from the transition target up to the leaf state. States that are parent to the transition target state and still active after the transition will remain intact.
Run status returned by the tasks.

code: [EStateTreeRunStatus](API\Plugins\StateTreeModule\EStateTreeRunStatus) EnterState ( const [FStateTreeTransitionResult](API\Plugins\StateTreeModule\FStateTreeTransitionResult) & Transition )


description: Handles logic for exiting State. ExitState is called on current active Evaluators and Tasks that are part of the re-planned tree. Re-planned tree is from the transition target up to the leaf state. States that are parent to the transition target state and still active after the transition will remain intact.

code: void ExitState ( const [FStateTreeTransitionResult](API\Plugins\StateTreeModule\FStateTreeTransitionResult) & Transition )


code: FAllowDirectTransitionsScope &40; FStateTreeExecutionContext & InContext &41;


className: FAllowDirectTransitionsScope

description: Helper struct to track when it is allowed to request transitions.

code: struct FAllowDirectTransitionsScope

Context

type: FStateTreeExecu...


code: FCurrentlyProcessedStateScope &40; FStateTreeExecutionContext & InContext, const FStateTreeStateHandle State &41;


className: FCurrentlyProcessedStateScope

description: Helper struct to track currently processed state.

code: struct FCurrentlyProcessedStateScope


description: Iterates over all events. Can only be used during StateTree tick. Expects a lambda which takes constFStateTreeEvent& Event, and returns EStateTreeLoopEvents.

code: template<typename TFunc> void ForEachEvent ( TFunc && Function ) const


description: reference to the list of currently active states.

code: const [FStateTreeActiveStates](API\Plugins\StateTreeModule\FStateTreeActiveStates) & GetActiveStates() const


description: the names of all the active state.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > GetActiveStateNames() const


description: the name of the active state.


description: Array view to named external data descriptors associated with this context. Note: Init() must be called before calling this method.

code: TConstArrayView< [FStateTreeExternalDataDesc](API\Plugins\StateTreeModule\FStateTreeExternalDataDesc) > GetContextDataDescs() const


description: mutable references to the instance data in use.

code: const [FStateTreeEventQueue](API\Plugins\StateTreeModule\FStateTreeEventQueue) & GetEventQueue() const


description: the currently processed state if applicable.


description: events to process this tick.

code: TConstArrayView< [FStateTreeEvent](API\Plugins\StateTreeModule\FStateTreeEvent) > GetEventsToProcess() const


description: StateTree execution state from the instance storage.


description: const StateTree execution state from the instance storage.

code: const [FStateTreeExecutionState](API\Plugins\StateTreeModule\FStateTreeExecutionState) & GetExecState() const


description:
Returns reference to external data based on provided handle. The return type is deduced from the handle's template type.
reference to external data based on handle or null if data is not set.

code: template<typename T> [T::DataType](API\Plugins\OptimusCore\DataType) & GetExternalData ( const T Handle ) const


description: Array view to external data descriptors associated with this context. Note: Init() must be called before calling this method.

code: TConstArrayView< [FStateTreeExternalDataDesc](API\Plugins\StateTreeModule\FStateTreeExternalDataDesc) > GetExternalDataDescs() const


description: Handle to external data of type InStruct, or invalid handle if struct not found.

code: [FStateTreeExternalDataHandle](API\Plugins\StateTreeModule\FStateTreeExternalDataHandle) GetExternalDataHandleByStruct ( const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * InStruct ) const


description:
Returns pointer to external data based on provided item handle. The return type is deduced from the handle's template type.
pointer to external data based on handle or null if item is not set or handle is invalid.

code: template<typename T> [T::DataType](API\Plugins\OptimusCore\DataType) * GetExternalDataPtr ( const T Handle ) const


code: [FStateTreeDataView](API\Plugins\StateTreeModule\FStateTreeDataView) GetExternalDataView ( const [FStateTreeExternalDataHandle](API\Plugins\StateTreeModule\FStateTreeExternalDataHandle) Handle )


description: const references to the instance data in use, or nullptr if the context is not valid.

code: const [FStateTreeInstanceData](API\Plugins\StateTreeModule\FStateTreeInstanceData) * GetInstanceData() const


description: reference to the instance data of specified node.

code: template<typename T> T & GetInstanceData ( const [FStateTreeNodeBase](API\Plugins\StateTreeModule\FStateTreeNodeBase) & Node ) const


description: reference to the instance data of specified node. Infers the instance data type from the node's FInstanceDataType.

code: template<typename T> T::FInstanceDataType & GetInstanceData ( const T & Node ) const


description: pointer to the instance data of specified node.

code: template<typename T> T * GetInstanceDataPtr ( const [FStateTreeNodeBase](API\Plugins\StateTreeModule\FStateTreeNodeBase) & Node ) const


description: reference to instance data struct that can be passed to lambdas. SeeTStateTreeInstanceDataStructReffor usage.

code: template<typename T> [TStateTreeInstanceDataStructRef](API\Plugins\StateTreeModule\TStateTreeInstanceDataStructRef)< typename T::FInstanceDataType > GetInstanceDataStructRef ( const T & Node ) const


description: the status of the last tick function


code: [FStateTreeEventQueue](API\Plugins\StateTreeModule\FStateTreeEventQueue) & GetMutableEventQueue() const


description: Mutable references to the instance data in use, or nullptr if the context is not valid.

code: [FStateTreeInstanceData](API\Plugins\StateTreeModule\FStateTreeInstanceData) * GetMutableInstanceData() const


description: The owner of the context

code: [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetOwner() const


description:
Traverses the ActiveStates from StartStateIndex to 0 and returns first linked state.
Parent linked state, or invalid state if no linked state found.

code: [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) GetParentLinkedStateHandle ( const [FStateTreeActiveStates](API\Plugins\StateTreeModule\FStateTreeActiveStates) & ActiveStates, const int32 StartStateIndex ) const


description: Prefix that will be used by STATETREE_LOG and STATETREE_CLOG, Owner name by default.

code: virtual [FString](API\Runtime\Core\Containers\FString) GetInstanceDescription() const


code: [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) GetParentLinkedStateHandle ( const [FStateTreeActiveStates](API\Plugins\StateTreeModule\FStateTreeActiveStates) & ActiveStates, const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) StartStateHandle ) const


description: String describing state name for logging and debug.

code: [FString](API\Runtime\Core\Containers\FString) GetSafeStateName ( const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) State ) const


code: int32 GetStateChangeCount() const


description: Pointer to a State or null if state not found

code: const [FCompactStateTreeState](API\Plugins\StateTreeModule\FCompactStateTreeState) * GetStateFromHandle ( const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) StateHandle ) const


description: String describing state status for logging and debug.

code: [FString](API\Runtime\Core\Containers\FString) GetStateStatusString ( const [FStateTreeExecutionState](API\Plugins\StateTreeModule\FStateTreeExecutionState) & ExecState ) const


description: the StateTree asset in use.

code: const [UStateTree](API\Plugins\StateTreeModule\UStateTree) * GetStateTree() const


description: the tree run status.


description: The world of the owner or nullptr if the owner is not set.

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


description: true if there is a pending event with specified tag.

code: bool HasEventToProcess ( const [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) Tag ) const


description: True of the the execution context is valid and initialized.

code: bool IsValid() const


description: Requests transition to a state. If called during during transition processing (e.g. fromFStateTreeTaskBase::TriggerTransitions()) the transition is attempted to be activate immediately (it can fail e.g. because of preconditions on a target state). If called outside the transition handling, the request is buffered and handled at the beginning of next transition processing.

code: void RequestTransition ( const [FStateTreeTransitionRequest](API\Plugins\StateTreeModule\FStateTreeTransitionRequest) & Request )


description: Requests transition to a specified state with specified priority.

code: bool RequestTransition ( const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) NextState, const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) Priority )


description:
Runs state selection logic starting at the specified state, walking towards the leaf states. If a state cannot be selected, false is returned. If NextState is a selector state, SelectStateInternal is called recursively (depth-first) to all child states (where NextState will be one of child states). If NextState is a leaf state, the active states leading from root to the leaf are returned.
True if succeeded to select new active states.

code: bool SelectState ( const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) NextState, [FStateTreeActiveStates](API\Plugins\StateTreeModule\FStateTreeActiveStates) & OutNewActiveStates, [FStateTreeActiveStates](API\Plugins\StateTreeModule\FStateTreeActiveStates) & VisitedStates )


description: Used internally to do the recursive part of theSelectState().

code: bool SelectStateInternal ( const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) NextState, [FStateTreeActiveStates](API\Plugins\StateTreeModule\FStateTreeActiveStates) & OutNewActiveStates, [FStateTreeActiveStates](API\Plugins\StateTreeModule\FStateTreeActiveStates) & VisitedStates )


description: Sends event for the StateTree.

code: void SendEvent ( const [FStateTreeEvent](API\Plugins\StateTreeModule\FStateTreeEvent) & Event ) const


description: Sends event for the StateTree.

code: void SendEvent ( const [FGameplayTag](API\Runtime\GameplayTags\FGameplayTag) Tag, const [FConstStructView](API\Plugins\StructUtils\FConstStructView) Payload, const [FName](API\Runtime\Core\UObject\FName) Origin ) const


description: Updates data view of the parameters by using the default values defined in the StateTree asset.

code: void SetDefaultParameters()


description: Sets external data view value for specific item.

code: void SetExternalData ( const [FStateTreeExternalDataHandle](API\Plugins\StateTreeModule\FStateTreeExternalDataHandle) Handle, [FStateTreeDataView](API\Plugins\StateTreeModule\FStateTreeDataView) DataView )


description: Helper function to update struct or object dataview of a node.

code: template<typename T> void SetNodeDataView ( T & Node, int32 & InstanceStructIndex, int32 & InstanceObjectIndex )


description: Updates data view of the parameters by replacing the default values defined in the StateTree asset by the provided values. Note: caller is responsible to make sure external parameters lifetime matches the context.

code: void SetParameters ( const [FInstancedPropertyBag](API\Plugins\StructUtils\FInstancedPropertyBag) & Parameters )


description: Start executing.


description:
Starts evaluators and global tasks.
run status returned by the global tasks.

code: [EStateTreeRunStatus](API\Plugins\StateTreeModule\EStateTreeRunStatus) StartEvaluatorsAndGlobalTasks ( [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) & OutLastInitializedTaskIndex )


description:
Stop executing if the tree is running.
Tree execution status at stop, can be CompletionStatus, or earlier status if the tree is not running.

code: [EStateTreeRunStatus](API\Plugins\StateTreeModule\EStateTreeRunStatus) Stop ( const [EStateTreeRunStatus](API\Plugins\StateTreeModule\EStateTreeRunStatus) CompletionStatus )


description: Handles logic for signalling State completed. StateCompleted is called on current active Evaluators and Tasks in reverse order (from leaf to root).

code: void StateCompleted()


description: Stops evaluators and global tasks.

code: void StopEvaluatorsAndGlobalTasks ( const [EStateTreeRunStatus](API\Plugins\StateTreeModule\EStateTreeRunStatus) CompletionStatus, const [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) LastInitializedTaskIndex )


description:
Checks all conditions at given range
True if all conditions pass.

code: bool TestAllConditions ( const int32 ConditionsOffset, const int32 ConditionsNum )


description:
Tick the state tree logic.
tree run status after the tick.

code: [EStateTreeRunStatus](API\Plugins\StateTreeModule\EStateTreeRunStatus) Tick ( const float DeltaTime )


description: Tick evaluators and global tasks by delta time.

code: [EStateTreeRunStatus](API\Plugins\StateTreeModule\EStateTreeRunStatus) TickEvaluatorsAndGlobalTasks ( const float DeltaTime, bool bTickGlobalTasks )


description:
Ticks tasks of all active states starting from current state by delta time.
Run status returned by the tasks.

code: [EStateTreeRunStatus](API\Plugins\StateTreeModule\EStateTreeRunStatus) TickTasks ( const float DeltaTime )


description:
Triggers transitions based on current run status. CurrentStatus is used to select which transitions events are triggered. If CurrentStatus is "Running", "Conditional" transitions pass, "Completed/Failed" will trigger "OnCompleted/OnSucceeded/OnFailed" transitions. Transition target state can point to a selector state. For that reason the result contains both the target state, as well ass the actual next state returned by the selector.
Transition result describing the source state, state transitioned to, and next selected state.

code: bool TriggerTransitions()


code: void UpdateInstanceData ( const [FStateTreeActiveStates](API\Plugins\StateTreeModule\FStateTreeActiveStates) & CurrentActiveStates, const [FStateTreeActiveStates](API\Plugins\StateTreeModule\FStateTreeActiveStates) & NextActiveStates )


description: Sets up parameter data view for a linked state and copies bound properties.

code: void UpdateLinkedStateParameters ( const [FCompactStateTreeState](API\Plugins\StateTreeModule\FCompactStateTreeState) & State, const int32 ParameterInstanceIndex )


description: Sets up parameter data view for subtree state.

code: void UpdateSubtreeStateParameters ( const [FCompactStateTreeState](API\Plugins\StateTreeModule\FCompactStateTreeState) & State )


code: FStateTreeExecutionContext ( [UObject](API\Runtime\CoreUObject\UObject\UObject) & InOwner, const [UStateTree](API\Plugins\StateTreeModule\UStateTree) & InStateTree, [FStateTreeInstanceData](API\Plugins\StateTreeModule\FStateTreeInstanceData) & InInstanceData )


code: virtual ~FStateTreeExecutionContext()


description: Delayed transition state for a specific transition, or nullptr if it does not exists.

code: [FStateTreeTransitionDelayedState](API\Plugins\StateTreeModule\FStateTreeTransitionDelayedState) * FindDelayedTransition ( const [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) TransitionIndex )


className: FStateTreeExecutionContext

description:
bool UMyComponent::SetContextRequirements(FStateTreeExecutionContext& Context)
{
    if (!Context.IsValid())
    {
        return false;
    }
    // Setup context data
    return true;
}

code: struct FStateTreeExecutionContext

bAllowDirectTransitions

type: bool

description: True if transitions are allowed to be requested directly instead of buffering.

CurrentlyProcessedState

description: Current state we're processing, or invalid if not applicable.

DataViews

description: Array of data pointers (external data, tasks, evaluators, conditions), used during evaluation.

EventsToProcess

description: Events to process in current tick.

InstanceData

type: FStateTreeInsta...

description: Instance data used during current tick.

NextTransition

type: FStateTreeTrans...

description: Next transition, used byRequestTransition().

NextTransitionSource

description: Structure describing the origin of the state transition that caused the state change.

Owner

type: UObject&

description: Owner of the instance data.

SharedInstanceData

type: TSharedPtr<FSt...

description: Shared instance data for the duration of the context.

StateTree

type: constUStateTre...

description: The StateTree asset the context is initialized for


className: FStateTreeExecutionState

ActiveStates

type: FStateTreeActiv...

description: Currently active states

CompletedStateHandle

type: FStateTreeState...

description: Handle of the state that was first to report state completed (success or failure), used to trigger completion transitions.

DelayedTransitions

description: Running time of the delayed transition

EnterStateFailedTaskIndex

type: FStateTreeIndex...

description: The index of the task that failed during enter state.

FirstTaskObjectIndex

description: Indexof the first task object in the currently initialized instance data.

FirstTaskStructIndex

description: Indexof the first task struct in the currently initialized instance data.

LastTickStatus

type: EStateTreeRunSt...

description: Result of last tick

StateChangeCount

description: Number of times a new state has been changed.

TreeRunStatus

description: Running status of the instance


code: bool operator== ( const [FStateTreeExternalDataDesc](API\Plugins\StateTreeModule\FStateTreeExternalDataDesc) & Other ) const


code: FStateTreeExternalDataDesc()


code: FStateTreeExternalDataDesc ( const [FName](API\Runtime\Core\UObject\FName) InName, const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * InStruct, const [FGuid](API\Runtime\Core\Misc\FGuid) InGuid )


code: FStateTreeExternalDataDesc ( const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * InStruct, const [EStateTreeExternalDataRequirement](API\Plugins\StateTreeModule\EStateTreeExternalDataRequiremen-) InRequirement )


className: FStateTreeExternalDataDesc

description: Describes an external data. The data can point to a struct or object. The code that handles StateTree ticking is responsible for passing in the actually data, seeFStateTreeExecutionContext.

Handle

type: FStateTreeExter...

description: Handle/Index to the StateTreeExecutionContext data views array

ID

type: FGuid

description: Unique identifier. Used only for bindable external data.

Name

type: FName

description: Name of the external data.

Requirement

type: EStateTreeExter...

description: Describes if the data is required or not.

Struct

type: TObjectPtr< con...

description: Class or struct of the external data.


className: Invalid

code: static const [FStateTreeExternalDataHandle](API\Plugins\StateTreeModule\FStateTreeExternalDataHandle) Invalid = FStateTreeExternalDataHandle();


code: static bool IsValidIndex ( const int32 Index )


className: FStateTreeExternalDataHandle

description: Handle to access an external struct or object. Note: Use the templated version below.


description: the index value as int32, mapping invalid value to INDEX_NONE.

code: int32 AsInt32() const


description: Value of the index or FStateTreeIndex16::InvalidValue (i.e. MAX_uint16) if invalid.

code: uint16 Get() const


className: InvalidValue

code: static constexpr uint16 InvalidValue = ((uint16) 0xffff);


code: static const [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) Invalid = FStateTreeIndex16();


description: true if the index is valid.

code: bool IsValid() const


description: true if the given index can be represented by the type.


code: bool operator== ( const [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) & RHS ) const


code: bool operator!= ( const [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) & RHS ) const


code: bool SerializeFromMismatchedTag ( const [FPropertyTag](API\Runtime\CoreUObject\UObject\FPropertyTag) & Tag, [FStructuredArchive::FSlot](API\Runtime\Core\Serialization\FStructuredArchive\FSlot) Slot )


description: Construct from a uint16 index where MAX_uint16 is considered an invalid index (i.e FStateTreeIndex16::InvalidValue).

code: FStateTreeIndex16 ( const uint16 InIndex )


description: Construct from a int32 index where INDEX_NONE is considered an invalid index and converted to FStateTreeIndex16::InvalidValue (i.e MAX_uint16).

code: FStateTreeIndex16 ( const int32 InIndex )


description: Uint16 index that can be invalid.


description: Value of the index.

code: uint8 Get() const


code: static const [FStateTreeIndex8](API\Plugins\StateTreeModule\FStateTreeIndex8) Invalid = FStateTreeIndex8();


code: static constexpr uint8 InvalidValue = ((uint8) 0xff);


code: bool operator== ( const [FStateTreeIndex8](API\Plugins\StateTreeModule\FStateTreeIndex8) & RHS ) const


code: bool operator!= ( const [FStateTreeIndex8](API\Plugins\StateTreeModule\FStateTreeIndex8) & RHS ) const


code: FStateTreeIndex8 ( const int32 InIndex )


description: Uint8 index that can be invalid.


description: Buffers a transition request to be sent to the State Tree.

code: void AddTransitionRequest ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner, const [FStateTreeTransitionRequest](API\Plugins\StateTreeModule\FStateTreeTransitionRequest) & Request )


description: Appends new items to the instance.

code: void Append ( [UObject](API\Runtime\CoreUObject\UObject\UObject) & InOwner, TConstArrayView< [FInstancedStruct](API\Plugins\StructUtils\FInstancedStruct) > InStructs, TConstArrayView< const [UObject](API\Runtime\CoreUObject\UObject\UObject) * > InObjects )


description: Appends new items to the instance.

code: void Append ( [UObject](API\Runtime\CoreUObject\UObject\UObject) & InOwner, TConstArrayView< [FConstStructView](API\Plugins\StructUtils\FConstStructView) > InStructs, TConstArrayView< const [UObject](API\Runtime\CoreUObject\UObject\UObject) * > InObjects )


description: true if all instances are valid.

code: bool AreAllInstancesValid() const


description: Shares the layout from another instance data, and copies the data over.

code: void CopyFrom ( [UObject](API\Runtime\CoreUObject\UObject\UObject) & InOwner, const [FStateTreeInstanceData](API\Plugins\StateTreeModule\FStateTreeInstanceData) & InOther )


code: int32 GetEstimatedMemoryUsage() const


code: const [FStateTreeEventQueue](API\Plugins\StateTreeModule\FStateTreeEventQueue) & GetEventQueue() const


description: array to store unprocessed events.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FStateTreeEvent](API\Plugins\StateTreeModule\FStateTreeEvent) > & GetEvents() const


description: pointer to StateTree execution state, or null if the instance data is not initialized.

code: const [FStateTreeExecutionState](API\Plugins\StateTreeModule\FStateTreeExecutionState) * GetExecutionState() const


description: reference to the event queue.


description: pointer to an instance object

code: [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetMutableObject ( const int32 Index )


description: mutable view to the struct at specified index.

code: [FStructView](API\Plugins\StructUtils\FStructView) GetMutableStruct ( const int32 Index )


code: int32 GetNumItems() const


description: const pointer to an instance object

code: const [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetObject ( const int32 Index ) const


code: const [FStateTreeInstanceStorage](API\Plugins\StateTreeModule\FStateTreeInstanceStorage) & GetStorage() const


description: const view to the struct at specified index.

code: [FConstStructView](API\Plugins\StructUtils\FConstStructView) GetStruct ( const int32 Index ) const


description: currently pending transition requests.

code: TConstArrayView< [FStateTreeTransitionRequest](API\Plugins\StateTreeModule\FStateTreeTransitionRequest) > GetTransitionRequests() const


description: Type traits

code: bool Identical ( const [FStateTreeInstanceData](API\Plugins\StateTreeModule\FStateTreeInstanceData) * Other, uint32 PortFlags ) const


description: Initializes the array with specified items.

code: void Init ( [UObject](API\Runtime\CoreUObject\UObject\UObject) & InOwner, TConstArrayView< [FInstancedStruct](API\Plugins\StructUtils\FInstancedStruct) > InStructs, TConstArrayView< const [UObject](API\Runtime\CoreUObject\UObject\UObject) * > InObjects )


code: void Init ( [UObject](API\Runtime\CoreUObject\UObject\UObject) & InOwner, TConstArrayView< [FConstStructView](API\Plugins\StructUtils\FConstStructView) > InStructs, TConstArrayView< const [UObject](API\Runtime\CoreUObject\UObject\UObject) * > InObjects )


description: true if the instance is correctly initialized.

code: bool IsValid() const


description: true if the specified index is valid index into the struct data container.

code: bool IsValidStructIndex ( const int32 Index ) const


description: number of instance objects

code: int32 NumObjects() const


description: Number of items in the instance data.

code: int32 NumStructs() const


code: void PostSerialize ( const [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


description: Resets the data to empty.

code: void Reset()


description: Reset all pending transition requests.

code: void ResetTransitionRequests()


description: Shrinks the array sizes to specified lengths. Sizes must be small or equal than current size.

code: void ShrinkTo ( const int32 NumStructs, const int32 NumObjects )


code: ~FStateTreeInstanceData()


className: FStateTreeInstanceData

description: Note: IfFStateTreeInstanceDatais placed on an struct, you must call AddStructReferencedObjects() manually, as it is not automatically called recursively. Note: Serialization is supported only forFArchive::IsModifyingWeakAndStrongReferences(), that is replacing object references.

InstanceStorage

type: FInstancedStruc...

description: Storage for the actual instance data, always storesFStateTreeInstanceStorage.


code: void AddTransitionRequest ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Owner, const [FStateTreeTransitionRequest](API\Plugins\StateTreeModule\FStateTreeTransitionRequest) & Request )


description: true if all instances are valid.

code: bool AreAllInstancesValid() const


description: reference to the event queue.

code: const [FStateTreeEventQueue](API\Plugins\StateTreeModule\FStateTreeEventQueue) & GetEventQueue() const


description: reference to the event queue.


description: pointer to an instance object

code: [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetMutableObject ( const int32 Index ) const


description: const pointer to an instance object

code: const [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetObject ( const int32 Index ) const


code: [FStructView](API\Plugins\StructUtils\FStructView) GetMutableStruct ( const int32 Index )


code: [FConstStructView](API\Plugins\StructUtils\FConstStructView) GetStruct ( const int32 Index ) const


description: currently pending transition requests.

code: TConstArrayView< [FStateTreeTransitionRequest](API\Plugins\StateTreeModule\FStateTreeTransitionRequest) > GetTransitionRequests() const


code: bool IsValid() const


code: bool IsValidStructIndex ( const int32 Index ) const


description: number of instance objects

code: int32 NumObjects() const


description: Number of items in the instance data.

code: int32 NumStructs() const


description: Reset all pending transition requests.


className: FStateTreeInstanceStorage

description: Since the tasks in the instance data are stored in a array that may get resized you will need to useTStateTreeInstanceDataStructRefto reference a struct based task instance data. It is defined below, and has example how to use it.Storage for the actual instance data.

EventQueue

type: FStateTreeEvent...

description: Events

InstanceObjects

type: TArray<TObject...

description: Object instances.

InstanceStructs

description: Struct instances

TransitionRequests

type: TArray<FStateT...

description: Requested transitions


description: linked external data descriptors.

code: TConstArrayView< [FStateTreeExternalDataDesc](API\Plugins\StateTreeModule\FStateTreeExternalDataDesc) > GetExternalDataDescs() const


description: Links reference to an externalUObject.

code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< [TIsDerivedFrom](API\Runtime\Core\Templates\TIsDerivedFrom)< typename [T::DataType](API\Plugins\OptimusCore\DataType), [UObject](API\Runtime\CoreUObject\UObject\UObject) >::IsDerived, void >::Type LinkExternalData ( T & Handle )


description: Links reference to an externalUObject.

code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<![TIsDerivedFrom](API\Runtime\Core\Templates\TIsDerivedFrom)< typename [T::DataType](API\Plugins\OptimusCore\DataType), [UObject](API\Runtime\CoreUObject\UObject\UObject) >::IsDerived, void >::Type LinkExternalData ( T & Handle )


description: Links reference to an external Object or Struct. This function should only be used when TStateTreeExternalDataHandle<> cannot be used, i.e. the Struct is based on some data.

code: void LinkExternalData ( [FStateTreeExternalDataHandle](API\Plugins\StateTreeModule\FStateTreeExternalDataHandle) & Handle, const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * Struct, const [EStateTreeExternalDataRequirement](API\Plugins\StateTreeModule\EStateTreeExternalDataRequiremen-) Requirement )


description: Sets currently linked item's instance data type and index.

code: void SetCurrentInstanceDataType ( const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * Struct, const int32 Index )


description: Sets base index for all external data handles.

code: void SetExternalDataBaseIndex ( const int32 InExternalDataBaseIndex )


code: FStateTreeLinker ( const [UStateTreeSchema](API\Plugins\StateTreeModule\UStateTreeSchema) * InSchema )


className: FStateTreeLinker

description: TStateTreeExternalDataHandle<> forexample usage.

code: struct FStateTreeLinker

CurrentInstanceStruct

type: constUStruct&...

Status

type: EStateTreeLinke...


code: void AddUsage ( [FConstStructView](API\Plugins\StructUtils\FConstStructView) View )


code: void AddUsage ( const [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object )


code: FStateTreeMemoryUsage ( const [FString](API\Runtime\Core\Containers\FString) InName, const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) InHandle )


className: FStateTreeMemoryUsage

description: Struct containing information about the StateTree runtime memory usage.

code: struct FStateTreeMemoryUsage

Name

type: FString


description:
Called during State Tree compilation, allows to modify and validate the node and instance data. The method is called with node and instance that is duplicated during compilation and used at runtime (it's different than the data used in editor).
Validation result based on if the validation succeeded or not. Returning Invalid will fail compilation and messages will be displayed as errors.

code: virtual EDataValidationResult Compile ( [FStateTreeDataView](API\Plugins\StateTreeModule\FStateTreeDataView) InstanceDataView, [TArray](API\Runtime\Core\Containers\TArray)< [FText](API\Runtime\Core\Internationalization\FText) > & ValidationMessages )


description: Struct that represents the runtime data of the node.

code: virtual const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * GetInstanceDataType() const


description: TStateTreeExternalDataHandle

code: virtual bool Link ( [FStateTreeLinker](API\Plugins\StateTreeModule\FStateTreeLinker) & Linker )


description: Called when binding of any of the properties in the node changes.

code: virtual void OnBindingChanged ( const [FGuid](API\Runtime\Core\Misc\FGuid) & ID, [FStateTreeDataView](API\Plugins\StateTreeModule\FStateTreeDataView) InstanceData, const [FStateTreePropertyPath](API\Plugins\StateTreeModule\FStateTreePropertyPath) & SourcePath, const [FStateTreePropertyPath](API\Plugins\StateTreeModule\FStateTreePropertyPath) & TargetPath, const [IStateTreeBindingLookup](API\Plugins\StateTreeModule\IStateTreeBindingLookup) & BindingLookup )


description: Deprecated* Use version withFStateTreePropertyPathinstead.

code: virtual PRAGMA_DISABLE_DEPRECATION_WARNINGSvoid OnBindingChanged ( const [FGuid](API\Runtime\Core\Misc\FGuid) & ID, [FStateTreeDataView](API\Plugins\StateTreeModule\FStateTreeDataView) InstanceData, const [FStateTreeEditorPropertyPath](API\Plugins\StateTreeModule\FStateTreeEditorPropertyPath) & SourcePath, const [FStateTreeEditorPropertyPath](API\Plugins\StateTreeModule\FStateTreeEditorPropertyPath) & TargetPath, const [IStateTreeBindingLookup](API\Plugins\StateTreeModule\IStateTreeBindingLookup) & BindingLookup )


code: virtual ~FStateTreeNodeBase()


className: FStateTreeNodeBase

description: Base struct of StateTree Conditions, Evaluators, and Tasks.

BindingsBatch

description: Property binding copy batch handle.

bInstanceIsObject

type: uint8:  1

description: True if the instance is anUObject.

DataViewIndex

description: The runtime data's data view index in the StateTreeExecutionContext, and source struct index in property binding.

InstanceIndex

description: Indexin runtime instance storage.

description: Name of the node.


code: FStateTreeNodeIdToIndex()


code: FStateTreeNodeIdToIndex ( const [FGuid](API\Runtime\Core\Misc\FGuid) & Id, const [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) Index )


className: FStateTreeNodeIdToIndex

description: Pair of node id and its associated node index created at compilation.


description: true if any of the elements in the property bindings contains any of the structs in the set.

code: bool ContainsAnyStruct ( const [TSet](API\Runtime\Core\Containers\TSet)< const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * > & Structs )


description:
Copies a batch of properties from source structs to target struct.
true if all copies succeeded (a copy can fail e.g. if source or destination struct view is invalid).

code: bool CopyTo ( TConstArrayView< [FStateTreeDataView](API\Plugins\StateTreeModule\FStateTreeDataView) > SourceStructViews, const [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) TargetBatchIndex, [FStateTreeDataView](API\Plugins\StateTreeModule\FStateTreeDataView) TargetStructView ) const


code: void DebugPrintInternalLayout ( [FString](API\Runtime\Core\Containers\FString) & OutString ) const


description: Deprecated* Will be removed in a future version.


description: Number of source structs the copy expects.

code: int32 GetSourceStructNum() const


description: how properties are compatible for copying.

code: static [EStateTreePropertyAccessCompatibility](API\Plugins\StateTreeModule\EStateTreePropertyAccessCompatib-) GetPropertyCompatibility ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * FromProperty, const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * ToProperty )


description: True if bindings have been resolved.

code: bool IsValid() const


description: Clears all bindings.

code: void Reset()


description:
Resets copied properties in TargetStructView. Can be used e.g. to eraseUObjectreferences.
true if all resets succeeded (a reset can fail e.g. if source or destination struct view is invalid).

code: bool ResetObjects ( const [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) TargetBatchIndex, [FStateTreeDataView](API\Plugins\StateTreeModule\FStateTreeDataView) TargetStructView ) const


description:
Resolves what kind of copy type to use between specified property indirections.
true if copy was resolved, or false if no copy could be resolved between paths.

code: static bool ResolveCopyType ( const [FStateTreePropertyPathIndirection](API\Plugins\StateTreeModule\FStateTreePropertyPathIndirectio-) & SourceIndirection, const [FStateTreePropertyPathIndirection](API\Plugins\StateTreeModule\FStateTreePropertyPathIndirectio-) & TargetIndirection, [FStateTreePropertyCopy](API\Plugins\StateTreeModule\FStateTreePropertyCopy) & OutCopy )


description:
Resolves paths to indirections.
True if resolve succeeded.

code: bool ResolvePaths()


className: FStateTreePropertyBindings

description: Runtime storage and execution of property bindings.


className: FStateTreePropertyCopy

description: Used internally. Describes property copy, the property from source is copied into the property at the target. Copy target struct is described in the property copy batch.

CopySize

description: Cached property element size * dim.

SourceIndirection

type: FStateTreePrope...

description: Source property access.

SourceLeafProperty

type: constFProperty...

description: Cached pointer to the leaf property of the access.

SourceStructIndex

description: Indexto the struct the source path refers to, sources are stored inFStateTreePropertyBindings.

TargetIndirection

description: Target property access.

Type

type: EStateTreePrope...

description: Type of the copy


className: FStateTreePropertyCopyBatch

description: Describes a batch of property copies from many sources to one target struct. Note: The batch is used to reference both bindings and copies (a binding turns into copy when resolved).

BindingsBegin

description: Indexto first binding/copy.

BindingsEnd

description: Indexto one past the last binding/copy.

TargetStruct

type: FStateTreeBinda...

description: Expected target struct


className: FStateTreePropertyIndirection

description: Used internally. Property indirection is a resolved property path segment, used for accessing properties in structs.

ArrayIndex

type: FStateTreeIndex...

description: Indexin the array the property points at.

ArrayProperty

type: constFArrayPro...

description: Cached array property.

InstanceStruct

description: Type of the struct or object instance in case the segment is pointing into an instanced data.

NextIndex

description: Cached offset of the property

Offset

description: Cached offset of the property

Type

description: Type of access/indirection.


description: Adds a path segment to the path.

code: void AddPathSegment ( const [FName](API\Runtime\Core\UObject\FName) InName, const int32 InArrayIndex, const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * InInstanceType )


description: Adds a path segment to the path.

code: void AddPathSegment ( const [FStateTreePropertyPathSegment](API\Plugins\StateTreeModule\FStateTreePropertyPathSegment) & PathSegment )


description:
Parses path from string. The path should be in format: Foo.Bar[1].Baz
true if path was parsed successfully.

code: bool FromString ( const [FString](API\Runtime\Core\Containers\FString) & InPath )


code: const [FStateTreePropertyPathSegment](API\Plugins\StateTreeModule\FStateTreePropertyPathSegment) & GetSegment ( const int32 Index ) const


code: TConstArrayView< [FStateTreePropertyPathSegment](API\Plugins\StateTreeModule\FStateTreePropertyPathSegment) > GetSegments() const


code: const [FGuid](API\Runtime\Core\Misc\FGuid) & GetStructID() const


description: true if any of the path segments is and indirection via instanced struct or object.

code: bool HasAnyInstancedIndirection() const


description: true if the path is empty. In that case the path points to the struct.

code: bool IsPathEmpty() const


code: int32 NumSegments() const


description: Test if paths are equal.

code: bool operator== ( const [FStateTreePropertyPath](API\Plugins\StateTreeModule\FStateTreePropertyPath) & RHS ) const


description: Reset the path to empty.


description:
Resolves the property path against base struct type. The path is assumed to be relative to the BaseStruct.
true of path could be resolved against the base value, and instance types were updated.

code: bool ResolveIndirections ( const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * BaseStruct, [TArray](API\Runtime\Core\Containers\TArray)< [FStateTreePropertyPathIndirection](API\Plugins\StateTreeModule\FStateTreePropertyPathIndirectio-) > & OutIndirections, [FString](API\Runtime\Core\Containers\FString) * OutError, bool bHandleRedirects ) const


description:
Resolves the property path against base value. The path is assumed to be relative to the BaseValueView.
true of path could be resolved against the base value, and instance types were updated.

code: bool ResolveIndirectionsWithValue ( const [FStateTreeDataView](API\Plugins\StateTreeModule\FStateTreeDataView) BaseValueView, [TArray](API\Runtime\Core\Containers\TArray)< [FStateTreePropertyPathIndirection](API\Plugins\StateTreeModule\FStateTreePropertyPathIndirectio-) > & OutIndirections, [FString](API\Runtime\Core\Containers\FString) * OutError, bool bHandleRedirects ) const


code: void SetStructID ( const [FGuid](API\Runtime\Core\Misc\FGuid) NewStructID )


description: Returns the property path as a one string. Highlight allows to decorate a specific segment.

code: [FString](API\Runtime\Core\Containers\FString) ToString ( const int32 HighlightedSegment, const TCHAR * HighlightPrefix, const TCHAR * HighlightPostfix, const bool bOutputInstances ) const


description: Deprecated* Use UpdateSegmentsFromValue instead

code: bool UpdateInstanceStructsFromValue ( const [FStateTreeDataView](API\Plugins\StateTreeModule\FStateTreeDataView) BaseValueView, [FString](API\Runtime\Core\Containers\FString) * OutError )


description:
Updates property segments from base struct type. The path is expected to be relative to the BaseStruct. The method handles renamed properties (core redirect, Blueprint and User Defined Structs by ID).
true of path could be resolved against the base value, and instance types were updated.

code: bool UpdateSegments ( const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * BaseStruct, [FString](API\Runtime\Core\Containers\FString) * OutError )


description:
Updates property segments from base value. The path is expected to be relative to the base value. The method updates instance types, and handles renamed properties (core redirect, Blueprint and User Defined Structs by ID).Bystoring the instance types on the path, we can resolve the path without the base value later.
true of path could be resolved against the base value, and instance types were updated.

code: bool UpdateSegmentsFromValue ( const [FStateTreeDataView](API\Plugins\StateTreeModule\FStateTreeDataView) BaseValueView, [FString](API\Runtime\Core\Containers\FString) * OutError )


code: FStateTreePropertyPath ( const [FGuid](API\Runtime\Core\Misc\FGuid) InStructID )


code: FStateTreePropertyPath ( const [FGuid](API\Runtime\Core\Misc\FGuid) InStructID, const [FName](API\Runtime\Core\UObject\FName) PropertyName )


code: FStateTreePropertyPath ( const [FGuid](API\Runtime\Core\Misc\FGuid) InStructID, TConstArrayView< [FStateTreePropertyPathSegment](API\Plugins\StateTreeModule\FStateTreePropertyPathSegment) > InSegments )


className: FStateTreePropertyPath

description: Representation of a property path used for property binding in StateTree.


code: const [FStateTreePropertyPath](API\Plugins\StateTreeModule\FStateTreePropertyPath) & GetSourcePath() const


code: const [FStateTreePropertyPath](API\Plugins\StateTreeModule\FStateTreePropertyPath) & GetTargetPath() const


code: void PostSerialize ( const [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: FStateTreePropertyPathBinding ( const [FStateTreePropertyPath](API\Plugins\StateTreeModule\FStateTreePropertyPath) & InSourcePath, const [FStateTreePropertyPath](API\Plugins\StateTreeModule\FStateTreePropertyPath) & InTargetPath )


description: Deprecated* Use constructor withFStateTreePropertyPathinstead.

code: FStateTreePropertyPathBinding ( const [FStateTreeEditorPropertyPath](API\Plugins\StateTreeModule\FStateTreeEditorPropertyPath) & InSourcePath, const [FStateTreeEditorPropertyPath](API\Plugins\StateTreeModule\FStateTreeEditorPropertyPath) & InTargetPath )


code: FStateTreePropertyPathBinding ( const [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) InCompiledSourceStructIndex, const [FStateTreePropertyPath](API\Plugins\StateTreeModule\FStateTreePropertyPath) & InSourcePath, const [FStateTreePropertyPath](API\Plugins\StateTreeModule\FStateTreePropertyPath) & InTargetPath )


className: FStateTreePropertyPathBinding

description: Representation of a property binding in StateTree


code: int32 GetArrayIndex() const


code: const uint8 * GetContainerAddress() const


code: const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * GetContainerStruct() const


code: const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * GetInstanceStruct() const


code: int32 GetPathSegmentIndex() const


code: const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * GetProperty() const


code: const uint8 * GetPropertyAddress() const


code: int32 GetPropertyOffset() const


code: FStateTreePropertyPathIndirection()


code: FStateTreePropertyPathIndirection ( const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * InContainerStruct )


className: FStateTreePropertyPathIndirection

description: Struct describing an indirection at specific segment at path. Returned byFStateTreePropertyPath::ResolveIndirections()andFStateTreePropertyPath::ResolveIndirectionsWithValue(). Generally there's one indirection perFProperty. Containers have one path segment but two indirection (container + inner type).


code: bool operator== ( const [FStateTreePropertyPathSegment](API\Plugins\StateTreeModule\FStateTreePropertyPathSegment) & RHS ) const


code: bool operator!= ( const [FStateTreePropertyPathSegment](API\Plugins\StateTreeModule\FStateTreePropertyPathSegment) & RHS ) const


code: void SetArrayIndex ( const int32 InArrayIndex )


code: void SetInstanceStruct ( const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * InInstanceStruct )


code: void SetName ( const [FName](API\Runtime\Core\UObject\FName) InName )


code: void SetPropertyGuid ( const [FGuid](API\Runtime\Core\Misc\FGuid) NewGuid )


code: FStateTreePropertyPathSegment()


code: FStateTreePropertyPathSegment ( const [FName](API\Runtime\Core\UObject\FName) InName, const int32 InArrayIndex, const [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * InInstanceStruct )


description: the fixed duration.

code: float GetDuration() const


className: FStateTreePropertyPathSegment

description: Struct describing a path segment inFStateTreePropertyPath.


description: Returns random duration around Duration, varied by +-RandomVariation.

code: float GetRandomDuration() const


description: the maximum random variance.

code: float GetRandomVariance() const


description: True of the duration is empty (always returns 0).

code: bool IsEmpty() const


code: uint16 Quantize ( const float Value ) const


description: Reset duration to empty.

code: void Reset()


className: Scale

code: static constexpr float Scale = 100.0f;


className: FStateTreeRandomTimeDuration

description: Time duration with random variance. Stored compactly as two uint16s, which gives time range of about 650 seconds. The variance is symmetric (+-) around the specified duration.


description: Sets the time duration with random variance.

code: void Set ( const float InDuration, const float InRandomVariance )


description: Sync parameters to match the asset if required.


description: reference to the parameters for the referenced StateTree asset.


description: pointer to the referenced StateTree asset.


code: const [FInstancedPropertyBag](API\Plugins\StructUtils\FInstancedPropertyBag) & GetParameters() const


description: const pointer to the referenced StateTree asset.

code: const [UStateTree](API\Plugins\StateTreeModule\UStateTree) * GetStateTree() const


description: true if the reference is set.

code: bool IsValid() const


description:
Indicates if current parameters are compatible with those available in the selected StateTree asset.
true when parameters requires to be synced to be compatible with those available in the selected StateTree asset, false otherwise.

code: bool RequiresParametersSync() const


description: Sets the StateTree asset and referenced parameters.

code: void SetStateTree ( [UStateTree](API\Plugins\StateTreeModule\UStateTree) * NewStateTree )


description: Enforce self parameters to be compatible with those exposed by the selected StateTree asset.

code: void SyncParameters()


description: Sync provided parameters to be compatible with those exposed by the selected StateTree asset.

code: void SyncParametersToMatchStateTree ( [FInstancedPropertyBag](API\Plugins\StructUtils\FInstancedPropertyBag) & ParametersToSync ) const


className: FStateTreeReference

description: Struct to hold reference to a StateTree asset along with values to parameterized it.

Parameters

type: FInstancedPrope...

StateTree

type: TObjectPtr<USt...


className: Failed

code: static const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) Failed = FStateTreeStateHandle(FailedIndex);


className: FailedIndex

code: static constexpr uint16 FailedIndex = uint16(-3);


code: static [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) FromCompletionStatus ( const [EStateTreeRunStatus](API\Plugins\StateTreeModule\EStateTreeRunStatus) Status )


className: Invalid

code: static const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) Invalid = FStateTreeStateHandle();


code: bool IsCompletionState() const


className: InvalidIndex

code: static constexpr uint16 InvalidIndex = uint16(-1);


description: true if the given index can be represented by the type.

code: static bool IsValidIndex ( const int32 Index )


code: bool operator== ( const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) & RHS ) const


code: bool operator!= ( const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) & RHS ) const


className: Root

code: static const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) Root = FStateTreeStateHandle(0);


className: Stopped

code: static const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) Stopped = FStateTreeStateHandle(StoppedIndex);


className: StoppedIndex

code: static constexpr uint16 StoppedIndex = uint16(-4);


className: Succeeded

code: static const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) Succeeded = FStateTreeStateHandle(SucceededIndex);


className: SucceededIndex

code: static constexpr uint16 SucceededIndex = uint16(-2);


code: FStateTreeStateHandle ( const int32 InIndex )


code: FStateTreeStateHandle ( const uint16 InIndex )


className: FStateTreeStateHandle

description: Handle to a StateTree state


code: FStateTreeStateIdToHandle()


code: FStateTreeStateIdToHandle ( const [FGuid](API\Runtime\Core\Misc\FGuid) & Id, const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) Handle )


className: FStateTreeStateIdToHandle

description: Pair of state guid and its associated state handle created at compilation.

Handle

type: FStateTreeState...

Id

type: FGuid


description: Deprecated* Will be removed in later releases.

code: bool IsValid() const


code: [FStateTreeStateLink](API\Plugins\StateTreeModule\FStateTreeStateLink) & operator= ( [FStateTreeStateLink](API\Plugins\StateTreeModule\FStateTreeStateLink) const & Other )


code: [FStateTreeStateLink](API\Plugins\StateTreeModule\FStateTreeStateLink) & operator= ( [FStateTreeStateLink](API\Plugins\StateTreeModule\FStateTreeStateLink) && Other )


code: void PostSerialize ( const [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: bool Serialize ( [FStructuredArchive::FSlot](API\Runtime\Core\Serialization\FStructuredArchive\FSlot) Slot )


description: Deprecated* UseUStateTreeState::GetLinkToState()instead.

code: void Set ( const class [UStateTreeState](API\Plugins\StateTreeEditorModule\UStateTreeState) * InState )


code: void Set ( const [EStateTreeTransitionType](API\Plugins\StateTreeModule\EStateTreeTransitionType) InType, const class [UStateTreeState](API\Plugins\StateTreeEditorModule\UStateTreeState) * InState )


code: FStateTreeStateLink ( const [EStateTreeTransitionType](API\Plugins\StateTreeModule\EStateTreeTransitionType) InType )


code: PRAGMA_DISABLE_DEPRECATION_WARNINGS FStateTreeStateLink ( const [FStateTreeStateLink](API\Plugins\StateTreeModule\FStateTreeStateLink) & Other )


code: FStateTreeStateLink ( [FStateTreeStateLink](API\Plugins\StateTreeModule\FStateTreeStateLink) && Other )


className: FStateTreeStateLink

description: Link to another state in StateTree

ID

description: ID of the state linked to.

LinkType

type: EStateTreeTrans...

description: Type of the transition, used at edit time to describe e.g. next state (which is calculated at compile time).

Name

type: FName

description: Name of the state at the time of linking, used for error reporting.

StateHandle

description: Handle of the linked state.


description: Returns const reference to the struct, this getter assumes that all data is valid.

code: template<typename T> const T & Get() const


description: Returns mutable reference to the struct, this getter assumes that all data is valid.

code: template<typename T> T & GetMutable()


description: Returns mutable pointer to the struct, or nullptr if cast is not valid.

code: template<typename T> T * GetMutablePtr()


description: Struct describing the data type.

code: const [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * GetScriptStruct() const


description: Returns const pointer to the struct, or nullptr if cast is not valid.

code: template<typename T> const T * GetPtr() const


description: true if the reference is valid (safe to use the reference getters).


description: Sets the struct ref (used by property copy)

code: void Set ( [FStructView](API\Plugins\StructUtils\FStructView) NewData )


className: FStateTreeStructRef

description: if (const FAwesomeData* Awesome = InstanceData.Data.GetPtr()) { ... }

Data

type: FStructView


description:
Called when a new state is entered and task is part of active states.
Succeed/Failed will end the state immediately and trigger to select new state, Running will carry on to tick the state.

code: virtual [EStateTreeRunStatus](API\Plugins\StateTreeModule\EStateTreeRunStatus) EnterState ( [FStateTreeExecutionContext](API\Plugins\StateTreeModule\FStateTreeExecutionContext) & Context, const [FStateTreeTransitionResult](API\Plugins\StateTreeModule\FStateTreeTransitionResult) & Transition ) const


description: Note: The API has been deprecated. ChangeType is moved intoFStateTreeTransitionResult. You can configure the task to be only called on state changes (that is, never call sustained changes) by setting bShouldStateChangeOnReselect to true.

code: virtual [EStateTreeRunStatus](API\Plugins\StateTreeModule\EStateTreeRunStatus) EnterState ( [FStateTreeExecutionContext](API\Plugins\StateTreeModule\FStateTreeExecutionContext) & Context, const [EStateTreeStateChangeType](API\Plugins\StateTreeModule\EStateTreeStateChangeType) ChangeType, const [FStateTreeTransitionResult](API\Plugins\StateTreeModule\FStateTreeTransitionResult) & Transition ) const


description: Called when a current state is exited and task is part of active states.

code: virtual void ExitState ( [FStateTreeExecutionContext](API\Plugins\StateTreeModule\FStateTreeExecutionContext) & Context, const [FStateTreeTransitionResult](API\Plugins\StateTreeModule\FStateTreeTransitionResult) & Transition ) const


code: virtual void ExitState ( [FStateTreeExecutionContext](API\Plugins\StateTreeModule\FStateTreeExecutionContext) & Context, const [EStateTreeStateChangeType](API\Plugins\StateTreeModule\EStateTreeStateChangeType) ChangeType, const [FStateTreeTransitionResult](API\Plugins\StateTreeModule\FStateTreeTransitionResult) & Transition ) const


description: Called when state tree triggers transitions. This method is called during transition handling, before state's tick and event transitions are handled. Note: the method is called only if bShouldAffectTransitions is set.

code: virtual void TriggerTransitions ( [FStateTreeExecutionContext](API\Plugins\StateTreeModule\FStateTreeExecutionContext) & Context ) const


description: Called right after a state has been completed, but before new state has been selected. StateCompleted is called in reverse order to allow to propagate state to other Tasks that are executed earlier in the tree. Note that StateCompleted is not called if conditional transition changes the state.

code: virtual void StateCompleted ( [FStateTreeExecutionContext](API\Plugins\StateTreeModule\FStateTreeExecutionContext) & Context, const [EStateTreeRunStatus](API\Plugins\StateTreeModule\EStateTreeRunStatus) CompletionStatus, const [FStateTreeActiveStates](API\Plugins\StateTreeModule\FStateTreeActiveStates) & CompletedActiveStates ) const


className: FStateTreeTaskBase

description: Base struct for StateTree Tasks. Tasks are logic executed in an active state.

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)(Meta=(Hidden)) struct FStateTreeTaskBase : public [FStateTreeNodeBase](API\Plugins\StateTreeModule\FStateTreeNodeBase)

bShouldAffectTransitions

description: If set to true,TriggerTransitions()is called during transition handling.

bShouldCallTick

description: If set to true,Tick()is called.

bShouldCallTickOnlyOnEvents

description: If set to true,Tick()is called only when there are events.

bShouldCopyBoundPropertiesOnExitState

description: If set to true, copy the values of bound properties before callingExitState().

bShouldCopyBoundPropertiesOnTick

description: If set to true, copy the values of bound properties before callingTick().

bShouldStateChangeOnReselect

description: If set to true, the task will receive EnterState/ExitState even if the state was previously active.

bTaskEnabled

description: True if the node is Enabled (i.e. not explicitly disabled in the asset).


className: FStateTreeTaskCommonBase

description: Base class (namespace) for all common Tasks that are generally applicable. This allows schemas to safely include all conditions child of this struct.

code: [USTRUCT](Programming/UnrealArchitecture/Reference/Structs)(Meta=(Hidden)) struct FStateTreeTaskCommonBase : public [FStateTreeTaskBase](API\Plugins\StateTreeModule\FStateTreeTaskBase)


className: FStateTreeTransitionDelayedState

code: struct FStateTreeTransitionDelayedState

TimeLeft

type: float


code: FStateTreeTransitionIdToIndex()


code: FStateTreeTransitionIdToIndex ( const [FGuid](API\Runtime\Core\Misc\FGuid) & Id, const [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) Index )


description:
Called during state tree tick when the task is on active state. Note: The method is called only if bShouldCallTick or bShouldCallTickOnlyOnEvents is set.
Running status of the state: Running if still in progress, Succeeded if execution is done and succeeded, Failed if execution is done and failed.

code: virtual [EStateTreeRunStatus](API\Plugins\StateTreeModule\EStateTreeRunStatus) Tick ( [FStateTreeExecutionContext](API\Plugins\StateTreeModule\FStateTreeExecutionContext) & Context, const float DeltaTime ) const


className: FStateTreeTransitionIdToIndex

description: Pair of transition id and its associated compact transition index created at compilation.


code: FStateTreeTransitionRequest ( const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) InTargetState, const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) InPriority )


code: FStateTreeTransitionRequest()


className: FStateTreeTransitionRequest

description: Transition request

Priority

description: Priority of the transition.

SourceState

description: Source state of the transition. Filled in by the StateTree execution context.

TargetState

description: Target state of the transition.


code: FStateTreeTransitionResult()


code: FStateTreeTransitionSource()


className: FStateTreeTransitionResult

description: Describes a state tree transition. Source is the state where the transition started, Target describes the state where the transition pointed at, and Next describes the selected state. The reason Transition and Next are different is that Transition state can be a selector state, in which case the children will be visited until a leaf state is found, which will be the next state.

ChangeType

type: EStateTreeState...

description: If the change type is Sustained, then the CurrentState was reselected, or if Changed then the state was just activated.

CurrentActiveStates

type: FStateTreeActiv...

description: Current active states, where the transition started.

CurrentRunStatus

type: EStateTreeRunSt...

description: Current Run status.

CurrentState

description: The current state being executed. On enter/exit callbacks this is the state of the task.

NextActiveStates

description: States selected as result of the transition.

Priority

description: Priority of the transition that caused the state change.

SourceState

description: Transition source state

description: Transition target state


code: FStateTreeTransitionSource ( const [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) TransitionIndex, const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) TargetState, const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) Priority )


code: FStateTreeTransitionSource ( const [EStateTreeTransitionSourceType](API\Plugins\StateTreeModule\EStateTreeTransitionSourceType) SourceType, const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) TargetState, const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) Priority )


code: FStateTreeTransitionSource ( const [EStateTreeTransitionSourceType](API\Plugins\StateTreeModule\EStateTreeTransitionSourceType) SourceType, const [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) TransitionIndex, const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) TargetState, const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) Priority )


className: FStateTreeTransitionSource

description: Describes the origin of an applied transition.

TargetState

description: Transition target state

TransitionIndex

description: Indexof the transition if from predefined asset transitions, invalid otherwise


description: Source path for given target path, or null if binding does not exists.

code: virtual const [FStateTreePropertyPath](API\Plugins\StateTreeModule\FStateTreePropertyPath) * GetPropertyBindingSource ( const [FStateTreePropertyPath](API\Plugins\StateTreeModule\FStateTreePropertyPath) & InTargetPath ) const


description: Deprecated* Use version withFStateTreePropertyPathinstead.

code: virtual PRAGMA_DISABLE_DEPRECATION_WARNINGS const [FStateTreeEditorPropertyPath](API\Plugins\StateTreeModule\FStateTreeEditorPropertyPath) * GetPropertyBindingSource ( const [FStateTreeEditorPropertyPath](API\Plugins\StateTreeModule\FStateTreeEditorPropertyPath) & InTargetPath ) const


description: Display name given property path.

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetPropertyPathDisplayName ( const [FStateTreePropertyPath](API\Plugins\StateTreeModule\FStateTreePropertyPath) & InPath ) const


code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetPropertyPathDisplayName ( const [FStateTreeEditorPropertyPath](API\Plugins\StateTreeModule\FStateTreeEditorPropertyPath) & InPath ) const


description: Leaf property based on property path.

code: virtual const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * GetPropertyPathLeafProperty ( const [FStateTreePropertyPath](API\Plugins\StateTreeModule\FStateTreePropertyPath) & InPath ) const


className: IStateTreeBindingLookup

description: Helper interface to reason about bound properties. The implementation is in the editor plugin.

code: struct IStateTreeBindingLookup


description:
Singleton-like access to this module's interface. This is just for convenience! Beware of calling this during the shutdown phase, though. Your module might have been unloaded already.
Returns singleton instance, loading the module on demand if needed

code: static [IStateTreeModule](API\Plugins\StateTreeModule\IStateTreeModule) & Get()


description:
Checks to see if this module is loaded and ready. It is only valid to callGet()ifIsAvailable()returns true.
True if the module is loaded and ready to use

code: static bool IsAvailable()


description:
Even if it returns false this can still have enabled StateTree related channels, OutTraceId will indicate which trace to use and StopTraces should be called to restore to previous setup.
True if a new trace connection was created, false otherwise (already active or not created)

code: bool StartTraces ( int32 & OutTraceId )


code: virtual const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * GetPropertyPathLeafProperty ( const [FStateTreeEditorPropertyPath](API\Plugins\StateTreeModule\FStateTreeEditorPropertyPath) & InPath ) const


description: Stops the trace service if it was not already connected when StartTraces was called. Restores previously enabled channels if necessary.

code: void StopTraces()


description:
Indicates if the statetree specific traces are active (explicitly started by StartTraces).
True is StartTraces was called, false otherwise.

code: bool IsTracing() const


className: IStateTreeModule

description: The public interface to this module

code: class IStateTreeModule : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface)


className: IsValid

code: bool IsValid() const


className: operator==

code: PRAGMA_DISABLE_DEPRECATION_WARNINGSbool operator== ( const [FStateTreeEditorPropertyPath](API\Plugins\StateTreeModule\FStateTreeEditorPropertyPath) & RHS ) const


className: operator&

code: constexpr [EStateTreeTransitionTrigger](API\Plugins\StateTreeModule\EStateTreeTransitionTrigger) operator& ( [EStateTreeTransitionTrigger](API\Plugins\StateTreeModule\EStateTreeTransitionTrigger) Lhs, [EStateTreeTransitionTrigger](API\Plugins\StateTreeModule\EStateTreeTransitionTrigger) Rhs )


className: operator&=

code: [EStateTreeTransitionTrigger](API\Plugins\StateTreeModule\EStateTreeTransitionTrigger) & operator&= ( [EStateTreeTransitionTrigger](API\Plugins\StateTreeModule\EStateTreeTransitionTrigger) & Lhs, [EStateTreeTransitionTrigger](API\Plugins\StateTreeModule\EStateTreeTransitionTrigger) Rhs )


className: operator^

code: constexpr [EStateTreeTransitionTrigger](API\Plugins\StateTreeModule\EStateTreeTransitionTrigger) operator^ ( [EStateTreeTransitionTrigger](API\Plugins\StateTreeModule\EStateTreeTransitionTrigger) Lhs, [EStateTreeTransitionTrigger](API\Plugins\StateTreeModule\EStateTreeTransitionTrigger) Rhs )


className: operator~

code: constexpr [EStateTreeTransitionTrigger](API\Plugins\StateTreeModule\EStateTreeTransitionTrigger) operator~ ( [EStateTreeTransitionTrigger](API\Plugins\StateTreeModule\EStateTreeTransitionTrigger) E )


className: operator^=

code: [EStateTreeTransitionTrigger](API\Plugins\StateTreeModule\EStateTreeTransitionTrigger) & operator^= ( [EStateTreeTransitionTrigger](API\Plugins\StateTreeModule\EStateTreeTransitionTrigger) & Lhs, [EStateTreeTransitionTrigger](API\Plugins\StateTreeModule\EStateTreeTransitionTrigger) Rhs )


code: bool operator== ( const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) Lhs, const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) Rhs )


className: operator>

code: bool operator> ( const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) Lhs, const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) Rhs )


className: operator>=

code: bool operator>= ( const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) Lhs, const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) Rhs )


className: operator<

code: bool operator< ( const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) Lhs, const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) Rhs )


className: operator<=

code: bool operator<= ( const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) Lhs, const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) Rhs )


className: operator!=

code: bool operator!= ( const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) Lhs, const [EStateTreeTransitionPriority](API\Plugins\StateTreeModule\EStateTreeTransitionPriority) Rhs )


className: operator!

code: constexpr bool operator! ( [EStateTreeTransitionTrigger](API\Plugins\StateTreeModule\EStateTreeTransitionTrigger) E )


className: ToString

description: Returns the property path as a one string. Highlight allows to decorate a specific segment.

code: [FString](API\Runtime\Core\Containers\FString) ToString ( const int32 HighlightedSegment, const TCHAR * HighlightPrefix, const TCHAR * HighlightPostfix ) const


className: DataRequirement

code: static constexpr [EStateTreeExternalDataRequirement](API\Plugins\StateTreeModule\EStateTreeExternalDataRequiremen-) DataRequirement = Req;


className: DataType

code: typedef T DataType


className: TStateTreeExternalDataHandle

description: TStateTreeExternalDataHandleExampleSubsystemHandle; }

code: template<typename T, [EStateTreeExternalDataRequirement](API\Plugins\StateTreeModule\EStateTreeExternalDataRequiremen-) Req> struct TStateTreeExternalDataHandle : public [FStateTreeExternalDataHandle](API\Plugins\StateTreeModule\FStateTreeExternalDataHandle)


code: TStateTreeInstanceDataStructRef ( [FStateTreeInstanceData](API\Plugins\StateTreeModule\FStateTreeInstanceData) & InInstanceData, const T & InstanceDataStruct )


code: enum &123; WithStructuredSerializeFromMismatchedTag = true &125;


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


className: TStateTreeInstanceDataStructRef

description: returnEStateTreeRunStatus::Running; }

code: template<typename T> struct TStateTreeInstanceDataStructRef

Storage

type: FStateTreeInsta...


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


className: WithIdentical

code: enum &123; WithIdentical = true &125;


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


className: WithPostSerialize

code: enum &123; WithPostSerialize = true &125;


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


className: WithStructuredSerializer

code: enum &123; WithStructuredSerializer = true &125;


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


code: namespace UE { namespace StateTree { const [FName](API\Runtime\Core\UObject\FName) UE::StateTree::SchemaTag ( TEXT("Schema") ) } }


code: static void AddReferencedObjects ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * InThis, [FReferenceCollector](API\Runtime\CoreUObject\UObject\FReferenceCollector) & Collector )


description: 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.

code: virtual void BeginDestroy()


description: Calculates runtime memory usage for different sections of the tree.

code: [TArray](API\Runtime\Core\Containers\TArray)< [FStateTreeMemoryUsage](API\Plugins\StateTreeModule\FStateTreeMemoryUsage) > CalculateEstimatedMemoryUsage() const


className: FReplacementObjectMap

code: typedef [TMap](API\Runtime\Core\Containers\TMap)< [UObject](API\Runtime\CoreUObject\UObject\UObject) *, [UObject](API\Runtime\CoreUObject\UObject\UObject) * > FReplacementObjectMap


code: static void DeclareConstructClasses ( [TArray](API\Runtime\Core\Containers\TArray)< [FTopLevelAssetPath](API\Runtime\CoreUObject\UObject\FTopLevelAssetPath) > & OutConstructClasses, const [UClass](API\Runtime\CoreUObject\UObject\UClass) * SpecificSubclass )


description: Gathers a list of asset registry searchable tags which are name/value pairs with some type information This only needs to be implemented for asset objects

code: virtual void GetAssetRegistryTags ( [TArray](API\Runtime\Core\Containers\TArray)< [FAssetRegistryTag](API\Runtime\CoreUObject\UObject\UObject\FAssetRegistryTag) > & OutTags ) const


description: List of context data enforced by the schema that must be provided through the execution context.

code: TConstArrayView< [FStateTreeExternalDataDesc](API\Plugins\StateTreeModule\FStateTreeExternalDataDesc) > GetContextDataDescs() const


description: Default instance data.

code: const [FStateTreeInstanceData](API\Plugins\StateTreeModule\FStateTreeInstanceData) & GetDefaultInstanceData() const


description: List of external data required by the state tree

code: TConstArrayView< [FStateTreeExternalDataDesc](API\Plugins\StateTreeModule\FStateTreeExternalDataDesc) > GetExternalDataDescs() const


description: Struct view of the node matching a given node index; invalid view if state not found.

code: [FConstStructView](API\Plugins\StructUtils\FConstStructView) GetNode ( const int32 NodeIndex ) const


description: List of default parameters of the state tree. Default parameter values can be overridden at runtime by the execution context.

code: const [FInstancedPropertyBag](API\Plugins\StructUtils\FInstancedPropertyBag) & GetDefaultParameters() const


description: Id of the node matching a given node index; invalid Id if node not found.

code: [FGuid](API\Runtime\Core\Misc\FGuid) GetNodeIdFromIndex ( const [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) NodeIndex ) const


description: Node index matching a given Id; invalid index if node not found.

code: [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) GetNodeIndexFromId ( const [FGuid](API\Runtime\Core\Misc\FGuid) Id ) const


description: Struct views of all nodes

code: const [FInstancedStructContainer](API\Plugins\StructUtils\FInstancedStructContainer) & GetNodes() const


description: Number of data views required for StateTree execution (Evaluators, Tasks, Conditions, External data).

code: int32 GetNumDataViews() const


description: schema that was used to compile the StateTree.

code: const [UStateTreeSchema](API\Plugins\StateTreeModule\UStateTreeSchema) * GetSchema() const


description: Shared instance data.


description: Pointer to a state or null if state not found

code: const [FCompactStateTreeState](API\Plugins\StateTreeModule\FCompactStateTreeState) * GetStateFromHandle ( const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) StateHandle ) const


description: Id of the state matching a given state handle; invalid Id if state not found.

code: [FGuid](API\Runtime\Core\Misc\FGuid) GetStateIdFromHandle ( const [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) Handle ) const


description: Pointer to the transition at a given index; null if not found.

code: const [FCompactStateTransition](API\Plugins\StateTreeModule\FCompactStateTransition) * GetTransitionFromIndex ( const [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) TransitionIndex ) const


description: View of all states.

code: TConstArrayView< [FCompactStateTreeState](API\Plugins\StateTreeModule\FCompactStateTreeState) > GetStates() const


description: Id of the transition matching a given runtime transition index; invalid Id if transition not found.

code: [FGuid](API\Runtime\Core\Misc\FGuid) GetTransitionIdFromIndex ( const [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) Index ) const


description: Runtime transition index matching a given Id; invalid index if node not found.

code: [FStateTreeIndex16](API\Plugins\StateTreeModule\FStateTreeIndex16) GetTransitionIndexFromId ( const [FGuid](API\Runtime\Core\Misc\FGuid) Id ) const


description:
Generic function to validate objects during changelist validations, etc.
Valid if this object has data validation rules set up for it and the data for this object is valid. Returns Invalid if it does not pass the rules. Returns NotValidated if no rules are set for this object.

code: virtual EDataValidationResult IsDataValid ( class [FDataValidationContext](API\Runtime\CoreUObject\Misc\FDataValidationContext) & Context ) const


description: State handle matching a given Id; invalid handle if state not found.

code: [FStateTreeStateHandle](API\Plugins\StateTreeModule\FStateTreeStateHandle) GetStateHandleFromId ( const [FGuid](API\Runtime\Core\Misc\FGuid) Id ) const


description: true if the tree asset can be used at runtime.

code: bool IsReadyToRun() const


description:
Resolves references between data in the StateTree.
true if all references to internal and external data are resolved properly, false otherwise.

code: bool Link()


code: void OnObjectsReinstanced ( const [FReplacementObjectMap](API\Plugins\StateTreeModule\UStateTree\FReplacementObjectMap) & ObjectMap )


description: 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.

code: virtual void PostInitProperties()


code: void OnUserDefinedStructReinstanced ( const [UUserDefinedStruct](API\Runtime\Engine\Engine\UUserDefinedStruct) & UserDefinedStruct )


description: 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.

code: virtual void PostLoad()


description:
Performs fixup on loaded asset registry data. This function is called from inside the AssetRegistry CriticalSection. DO NOT CALL ASSETREGISTRY FUNCTIONS FROM THIS FUNCTION, IT WILL DEADLOCK. Note that this function is only called on Class Default Objects where the actual object instance data used to generate the asset data is not available.
Pointer to new asset data after fixup or nullptr if no fixup was required

code: virtual void PostLoadAssetRegistryTags ( const [FAssetData](API\Runtime\CoreUObject\AssetRegistry\FAssetData) & InAssetData, [TArray](API\Runtime\Core\Containers\TArray)< [FAssetRegistryTag](API\Runtime\CoreUObject\UObject\UObject\FAssetRegistryTag) > & OutTagsAndValuesToUpdate ) const


description: Resets the compiled data to empty.

code: void ResetCompiled()


description: Handles reading, writing, and reference collecting usingFArchive. This implementation handles allFPropertyserialization, but can be overridden for native variables.

code: virtual void Serialize ( [FStructuredArchiveRecord](API\Runtime\Core\Serialization\FStructuredArchiveRecord) Record )


className: UStateTree

description: StateTree asset. Contains the StateTree definition in both editor and runtime (baked) formats.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(BlueprintType) class UStateTree : public [UDataAsset](API\Runtime\Engine\Engine\UDataAsset)

EditorData

type: TObjectPtr<UOb...

description: Edit time data for the StateTree, instance ofUStateTreeEditorData

LastCompiledEditorDataHash

description: Hash of the editor data from last compile.

OnObjectsReinstancedHandle

type: FDelegateHandle