Skip to content

USMGraphNode_StateMachineStateNode

Module: SMSystemEditor

Inherits from USMGraphNode_StateNodeBase, USMGraphNode_Base, ISMEditorGraphNode_StateBaseInterface, UEdGraphNode, ISMEditorGraphNodeInterface

Inherited by USMGraphNode_StateMachineParentNode

Public Functions

Name
virtual void PostLoad() override
virtual void PostPlacedNewNode() override
virtual void PostPasteNode() override
virtual void PostEditChangeProperty(FPropertyChangedEvent & PropertyChangedEvent) override
virtual void PostEditUndo() override
virtual void DestroyNode() override
virtual void ValidateNodeDuringCompilation(FCompilerResultsLog & MessageLog) const override
virtual UObject * GetJumpTargetForDoubleClick() const override
virtual void JumpToDefinition() const override
virtual FSlateIcon GetIconAndTint(FLinearColor & OutColor) const override
virtual void PreCompile(FSMKismetCompilerContext & CompilerContext) override
virtual void ImportDeprecatedProperties() override
virtual void CheckSetErrorMessages() override
virtual FName GetNodeClassPropertyName() const override
virtual UClass * GetNodeClass() const override
virtual void SetNodeClass(UClass * Class) override
virtual bool SupportsPropertyGraphs() const override
virtual FName GetFriendlyNodeName() const override
virtual const FSlateBrush * GetNodeIcon() const override
virtual void GoToLocalGraph() const override
virtual bool CanGoToLocalGraph() const override
virtual bool IsNodeFastPathEnabled() const override
virtual void SetRuntimeDefaults(FSMState_Base & State) const override
USMGraph * GetBoundStateMachineGraph() const
UObject * GetReferenceToJumpTo() const
void JumpToReference() const
void SetDebugObjectForReference() const
virtual bool ReferenceStateMachine(USMBlueprint * OtherStateMachine)
virtual void InitStateMachineReferenceTemplate(bool bInitialLoad =false)
void DestroyReferenceTemplate()
USMBlueprint * GetStateMachineReference() const
USMInstance * GetStateMachineReferenceTemplateDirect() const
void SetUseIntermediateGraph(bool bValue)
virtual void CreateBoundGraph()
virtual void UpdateEditState()
bool IsStateMachineReference() const
bool IsBoundGraphInvalid() const
bool NeedsIntermediateGraph() const
bool HasIntermediateGraph() const
bool IsUsingIntermediateGraph() const
bool ShouldUseIntermediateGraph() const
bool ShouldUseTemplate() const
bool ShouldReuseCurrentState() const
bool ShouldReuseIfNotEndState() const
bool ShouldWaitForEndState() const
bool IsSwitchingGraphTypes() const
FName GetStateMachineReferencePropertyName()

Protected Functions

Name
virtual void OnConvertToCurrentVersion(bool bOnlyOnLoad) override
virtual FLinearColor Internal_GetBackgroundColor() const override
virtual bool HasLogicStates() const
void ConfigureInitialReferenceTemplate()
void SetNodeClassFromReferenceTemplate()

Protected Attributes

Name
TObjectPtr< USMBlueprint > ReferencedStateMachine
FString DesiredNodeName
uint8 bShouldUseIntermediateGraph
uint8 bNeedsNewReference
uint8 bSwitchingGraphTypes

Additional inherited members

Public Functions inherited from USMGraphNode_StateNodeBase

Name
virtual void AllocateDefaultPins() override
virtual FText GetNodeTitle(ENodeTitleType::Type TitleType) const override
virtual bool GetCanRenameNode() const override
virtual void OnRenameNode(const FString & NewName) override
virtual void AutowireNewNode(UEdGraphPin * FromPin) override
virtual void PostEditChangeChainProperty(FPropertyChangedChainEvent & PropertyChangedEvent) override
virtual void PinConnectionListChanged(UEdGraphPin * Pin) override
virtual void OnNodeMoved(const FVector2D & NewPosition) override
virtual void OnBoundGraphRenamed(UObject * OldOuter, const FName OldName) override
virtual void ResetNodeName() override
virtual FGameplayTagContainer & GetAnyStateTags() override
virtual void SetAnyStateTags(const FGameplayTagContainer & InAnyStateTags) override
virtual FString GetStateName() const
virtual bool IsEndState(bool bCheckAnyState =true) const
virtual bool HasInputConnections() const
virtual bool HasOutputConnections() const
bool ShouldDefaultTransitionsToParallel() const
bool ShouldExcludeFromAnyState() const
bool HasTransitionToNode(const UEdGraphNode * Node) const
bool HasTransitionFromNode(const UEdGraphNode * Node) const
USMGraphNode_Base * GetPreviousNode(int32 Index =0) const
USMGraphNode_Base * GetNextNode(int32 Index =0) const
USMGraphNode_StateNodeBase * GetPreviousState(int32 Index =0, bool bIncludeReroute =false, bool bIncludeEntryState =false) const
USMGraphNode_StateNodeBase * GetNextState(int32 Index =0, bool bIncludeReroute =false) const
USMGraphNode_TransitionEdge * GetPreviousTransition(int32 Index =0) const
USMGraphNode_TransitionEdge * GetNextTransition(int32 Index =0) const
void GetInputTransitions(TArray< USMGraphNode_TransitionEdge * > & OutTransitions) const
void GetOutputTransitions(TArray< USMGraphNode_TransitionEdge * > & OutTransitions) const
int32 GetNumInputConnections() const
int32 GetNumOutputConnections() const
UEdGraphPin * GetConnectedEntryPin() const
FLinearColor GetBackgroundColorForNodeInstance(const USMNodeInstance * NodeInstance) const
const TSet< TObjectPtr< USMGraphNode_LinkStateNode > > & GetLinkStates() const
void RemoveInvalidLinkStates()
void RefreshConnectedTransitions()

Friends inherited from USMGraphNode_StateNodeBase

Name
class SGraphNode_StateNode
class USMGraphNode_LinkStateNode

Public Functions inherited from USMGraphNode_Base

Name
virtual void Serialize(FArchive & Ar) override
virtual ~USMGraphNode_Base() override
virtual TSharedPtr< INameValidatorInterface > MakeNameValidator() const override
virtual void OnRenameNode(const FString & NewName) override
virtual bool CanJumpToDefinition() const override
virtual bool CanCreateUnderSpecifiedSchema(const UEdGraphSchema * Schema) const override
virtual void ReconstructNode() override
virtual void PinConnectionListChanged(UEdGraphPin * Pin) override
virtual TScriptInterface< ISMEditorGraphPropertyNodeInterface > GetEditorGraphProperty(FName PropertyName, const USMNodeInstance * NodeInstance, int32 ArrayIndex) const override
virtual TArray< TScriptInterface< ISMEditorGraphPropertyNodeInterface > > GetEditorGraphPropertyAsArray(FName PropertyName, const USMNodeInstance * NodeInstance, int32 ArrayIndex) const override
virtual TArray< TScriptInterface< ISMEditorGraphPropertyNodeInterface > > GetAllEditorGraphProperties(const USMNodeInstance * NodeInstance) const override
virtual USMNodeInstance * AddStackNode(TSubclassOf< USMNodeInstance > NodeClass, int32 StackIndex) override
virtual void RemoveStackNode(int32 StackIndex) override
virtual void ClearStackNodes() override
virtual FString GetNodeName() const override
virtual bool SetNodeName(const FString & NewName, FText & OutErrorMessage) override
virtual void ResetNodeName() override
virtual TScriptInterface< ISMEditorGraphNode_StateBaseInterface > AsStateBaseInterface() override
virtual void SetNodeName_Direct(const FString & InNewName)
virtual void PreCompileNodeInstanceValidation(FCompilerResultsLog & CompilerContext, USMCompilerLog * CompilerLog, USMGraphNode_Base * OwningNode =nullptr)
virtual void OnCompile(FSMKismetCompilerContext & CompilerContext)
virtual void OnBoundGraphRenamed(UObject * OldOuter, const FName OldName)
virtual void ResetDebugState()
virtual void OnWidgetConstruct()
virtual void UpdateTime(float DeltaTime)
virtual void ResetLogMessages()
void UpdateErrorMessageFromLogs()
void AddNodeLogMessage(const FSMGraphNodeLog & Message)
bool TryGetNodeLogMessage(FString & OutMessage, int32 & OutSeverity) const
virtual void OnNodeMoved(const FVector2D & NewPosition)
void SetReadOnlyNodePosition()
virtual TArray< TSubclassOf< USMGraphNode_Base > > GetAllowedDuplicateNodeNameTypes() const
virtual const FGuid & GetCorrectNodeGuid(bool * bIsRunTimeGuid =nullptr) const
virtual void InitTemplate()
virtual void DestroyTemplate()
void RunAllConstructionScripts()
virtual bool CanRunConstructionScripts() const
virtual bool DoesNodePossiblyHaveConstructionScripts() const
bool IsRunningConstructionScripts() const
UClass * GetDefaultNodeClass() const
bool IsUsingDefaultNodeClass() const
bool IsNodeClassNative() const
virtual FName GetNodeTemplatePropertyName()
virtual FName GetNodeStackPropertyName()
virtual FName GetNodeStackElementClassPropertyName() const
USMNodeInstance * GetNodeTemplate() const
USMNodeInstance * GetNodeTemplateFromGuid(const FGuid & Guid) const
virtual bool AreTemplatesFullyLoaded() const
virtual int32 GetIndexOfTemplate(const FGuid & Guid) const
virtual USMNodeInstance * GetTemplateFromIndex(int32 Index) const
virtual void GetAllNodeTemplates(TArray< USMNodeInstance * > & OutNodeInstances) const
T * GetNodeTemplateAs(bool bCheck =false) const
USMGraph * GetOwningStateMachineGraph() const
UEdGraph * GetBoundGraph() const
void ClearBoundGraph()
void CreateGraphPropertyGraphs(bool bGenerateNewGuids =false)
bool CreateGraphPropertyGraphsForTemplate(USMNodeInstance * Template, bool bGenerateNewGuids, TSet< FGuid > & LiveGuidsInOut, bool bResetNonVariableGuids =false)
void RemoveGraphPropertyGraphsForTemplate(USMNodeInstance * Template)
UEdGraph * GetGraphPropertyGraph(const FGuid & Guid) const
USMGraphK2Node_PropertyNode_Base * GetGraphPropertyNode(const FGuid & Guid) const
USMGraphK2Node_PropertyNode_Base * GetGraphPropertyNode(const FName & VariableName, const USMNodeInstance * TemplateMatch =nullptr, int32 Index =INDEX_NONE) const
TArray< USMGraphK2Node_PropertyNode_Base * > GetGraphPropertyNodes(const FName & VariableName, const USMNodeInstance * TemplateMatch =nullptr, int32 Index =INDEX_NONE) const
const TMap< FGuid, TObjectPtr< UEdGraph > > & GetAllPropertyGraphs() const
const TMap< FGuid, TObjectPtr< USMGraphK2Node_PropertyNode_Base > > & GetAllPropertyGraphNodes() const
TArray< USMGraphK2Node_PropertyNode_Base * > GetAllPropertyGraphNodesAsArray(const USMNodeInstance * TemplateMatch =nullptr) const
void InitPropertyGraphNodes(UEdGraph * PropertyGraph, FSMGraphProperty_Base * Property)
void RefreshAllProperties(bool bModify, bool bSetFromPinFirst =true)
void RefreshPropertyByGuid(const FGuid & Guid, bool bModify, bool bSetFromPinFirst =true)
void ForceRecreateProperties()
void SetGraphPropertyDefaultsFromPins()
void SetPinsFromGraphProperties(bool bUseArchetype)
USMGraphK2Node_PropertyNode_Base * GetPropertyNodeUnderMouse() const
virtual UEdGraphPin * GetInputPin() const
virtual UEdGraphPin * GetOutputPin() const
UEdGraphNode * GetOutputNode() const
void GetAllOutputNodes(TArray< UEdGraphNode * > & OutNodes) const
void GetAllOutputNodesAs(TArray< T * > & OutNodes) const
virtual FLinearColor GetBackgroundColor() const
virtual FLinearColor GetActiveBackgroundColor() const
virtual bool CanExistAtRuntime() const
FSMNode_Base * FindRuntimeNode() const
const FSMNode_Base * GetDebugNode() const
float GetDebugTime() const
virtual float GetMaxDebugTime() const
virtual bool IsDebugNodeActive() const
virtual bool WasDebugNodeActive() const
bool ConvertToCurrentVersion(bool bOnlyOnLoad =true)
bool SetToCurrentVersion()
void ForceSetVersion(int32 NewVersion)
bool IsBeingPasted() const
bool IsPreCompiling() const
bool IsEditUndo() const
void RequestSlateRefresh(bool bFullRefresh =false)
virtual void ResetCachedValues()
void RecordDuplicatedNodeGuid(const FGuid & InGuid)
void NotifySwapPropertyGraphArrayElements(const FName & InPropertyName, int32 IndexA, int32 IndexB, USMNodeInstance * InNodeInstance)
void RunPreCompileValidateForNodeInstance(const USMNodeInstance * InNodeInstance, USMCompilerLog * InCompilerLog)

Protected Functions inherited from USMGraphNode_Base

Name
void DestroyAllPropertyGraphs()
virtual void PlaceDefaultInstanceNodes()
virtual void RunAllConstructionScripts_Internal()
virtual void RestoreArchetypeValuesPriorToConstruction()
bool IsSafeToConditionallyCompile(EPropertyChangeType::Type ChangeType) const
const FLinearColor * GetCustomBackgroundColor(const USMNodeInstance * NodeInstance =nullptr) const
void RemovePropertyGraph(USMPropertyGraph * PropertyGraph, bool RemoveFromMaps)
void HandlePropertyGraphArrayRemoval(TArray< FSMGraphProperty_Base * > & GraphProperties, TArray< TSharedPtr< FSMGraphProperty > > & TempGraphProperties, FProperty * TargetProperty, int32 RemovalIndex, int32 ArraySize, const FSMGraphProperty * OverrideGraphProperty, USMNodeInstance * Template)
void HandlePropertyGraphArrayInsertion(TArray< FSMGraphProperty_Base * > & GraphProperties, TArray< TSharedPtr< FSMGraphProperty > > & TempGraphProperties, FProperty * TargetProperty, int32 InsertionIndex, int32 ArraySize, const FSMGraphProperty * OverrideGraphProperty, USMNodeInstance * Template, bool bDuplicate =false)
void HandlePropertyGraphArraySwap(TArray< FSMGraphProperty_Base * > & GraphProperties, int32 IndexA, int32 IndexB, USMNodeInstance * Template)
void HandleOnPropertyChangedEvent(UObject * InObject, FPropertyChangedEvent & InPropertyChangedEvent)
int32 GetLoadedVersion() const

Public Attributes inherited from USMGraphNode_Base

Name
bool bGenerateTemplateOnNodePlacement
uint32 bRequiresGuidRegeneration
uint32 bNeedsStateStackConversion
uint32 bTEST_ForceNoTemplateGuid
TMap< FString, bool > PropertyCategoriesExpanded

Protected Attributes inherited from USMGraphNode_Base

Name
bool bPostEditChangeConstructionRequiresFullRefresh
TArray< FSMGraphNodeLog > CollectedLogs
TObjectPtr< UEdGraph > BoundGraph
FVector2D NodePosition
TObjectPtr< USMNodeInstance > NodeInstanceTemplate
TMap< FGuid, TObjectPtr< UEdGraph > > GraphPropertyGraphs
TMap< FGuid, TObjectPtr< USMGraphK2Node_PropertyNode_Base > > GraphPropertyNodes
TMap< FGuid, TObjectPtr< USMNodeInstance > > GraphPropertyTemplates
TSet< FGuid > DuplicatedNodeGuids
TSharedPtr< FSlateBrush > CachedBrush
FString CachedTexture
FVector2D CachedTextureSize
FLinearColor CachedNodeTintColor
float DebugTotalTime
float MaxTimeToShowDebug
uint32 bIsDebugActive
uint32 bWasDebugActive
uint32 bIsPreCompiling
uint32 bJustPasted
uint32 bIsEditUndo
uint32 bCreatePropertyGraphsOnPropertyChange
uint32 bCreatePropertyGraphsSilently
uint32 bChangeFromRedirect

Friends inherited from USMGraphNode_Base

Name
class SGraphNode_BaseNode

Public Functions inherited from ISMEditorGraphNode_StateBaseInterface

Name
virtual FGameplayTagContainer & GetAnyStateTags() =0
images/classes/SMEditorGraphNode_StateBaseInterface/img/nd_img_GetAnyStateTags.png
virtual void SetAnyStateTags(const FGameplayTagContainer & InAnyStateTags) =0
images/classes/SMEditorGraphNode_StateBaseInterface/img/nd_img_SetAnyStateTags.png

Public Functions inherited from ISMEditorGraphNodeInterface

Name
virtual TScriptInterface< ISMEditorGraphPropertyNodeInterface > GetEditorGraphProperty(FName PropertyName, const USMNodeInstance * NodeInstance, int32 ArrayIndex =0) const =0
images/classes/SMEditorGraphNodeInterface/img/nd_img_GetEditorGraphProperty.png
virtual TArray< TScriptInterface< ISMEditorGraphPropertyNodeInterface > > GetEditorGraphPropertyAsArray(FName PropertyName, const USMNodeInstance * NodeInstance, int32 ArrayIndex =-1) const =0
images/classes/SMEditorGraphNodeInterface/img/nd_img_GetEditorGraphPropertyAsArray.png
virtual TArray< TScriptInterface< ISMEditorGraphPropertyNodeInterface > > GetAllEditorGraphProperties(const USMNodeInstance * NodeInstance) const =0
images/classes/SMEditorGraphNodeInterface/img/nd_img_GetAllEditorGraphProperties.png
virtual USMNodeInstance * AddStackNode(TSubclassOf< USMNodeInstance > NodeClass, int32 StackIndex =INDEX_NONE) =0
virtual void RemoveStackNode(int32 StackIndex =INDEX_NONE) =0
virtual void ClearStackNodes() =0
virtual FString GetNodeName() const =0
images/classes/SMEditorGraphNodeInterface/img/nd_img_GetNodeName.png
virtual bool SetNodeName(const FString & NewName, FText & OutErrorMessage) =0
images/classes/SMEditorGraphNodeInterface/img/nd_img_SetNodeName.png
virtual void ResetNodeName() =0
images/classes/SMEditorGraphNodeInterface/img/nd_img_ResetNodeName.png
virtual TScriptInterface< ISMEditorGraphNode_StateBaseInterface > AsStateBaseInterface() =0
images/classes/SMEditorGraphNodeInterface/img/nd_img_AsStateBaseInterface.png

Public Functions Documentation

function PostLoad

virtual void PostLoad() override

function PostPlacedNewNode

virtual void PostPlacedNewNode() override

function PostPasteNode

virtual void PostPasteNode() override

function PostEditChangeProperty

virtual void PostEditChangeProperty(
    FPropertyChangedEvent & PropertyChangedEvent
) override

function PostEditUndo

virtual void PostEditUndo() override

function DestroyNode

virtual void DestroyNode() override

function ValidateNodeDuringCompilation

virtual void ValidateNodeDuringCompilation(
    FCompilerResultsLog & MessageLog
) const override

function GetJumpTargetForDoubleClick

virtual UObject * GetJumpTargetForDoubleClick() const override

function JumpToDefinition

virtual void JumpToDefinition() const override

function GetIconAndTint

virtual FSlateIcon GetIconAndTint(
    FLinearColor & OutColor
) const override

function PreCompile

virtual void PreCompile(
    FSMKismetCompilerContext & CompilerContext
) override

function ImportDeprecatedProperties

virtual void ImportDeprecatedProperties() override

function CheckSetErrorMessages

virtual void CheckSetErrorMessages() override

function GetNodeClassPropertyName

inline virtual FName GetNodeClassPropertyName() const override

function GetNodeClass

inline virtual UClass * GetNodeClass() const override

function SetNodeClass

virtual void SetNodeClass(
    UClass * Class
) override

function SupportsPropertyGraphs

inline virtual bool SupportsPropertyGraphs() const override

function GetFriendlyNodeName

inline virtual FName GetFriendlyNodeName() const override

function GetNodeIcon

virtual const FSlateBrush * GetNodeIcon() const override

function GoToLocalGraph

virtual void GoToLocalGraph() const override

function CanGoToLocalGraph

virtual bool CanGoToLocalGraph() const override

function IsNodeFastPathEnabled

virtual bool IsNodeFastPathEnabled() const override

function SetRuntimeDefaults

virtual void SetRuntimeDefaults(
    FSMState_Base & State
) const override

function GetBoundStateMachineGraph

USMGraph * GetBoundStateMachineGraph() const

Return the contained state machine graph.


function GetReferenceToJumpTo

UObject * GetReferenceToJumpTo() const

Returns the best graph of the reference to jump to.


function JumpToReference

void JumpToReference() const

Jumps to the reference regardless of intermediate graph.


function SetDebugObjectForReference

void SetDebugObjectForReference() const

Tells the hyperlink target to use the current debug object.


function ReferenceStateMachine

virtual bool ReferenceStateMachine(
    USMBlueprint * OtherStateMachine
)

Signals that this state machine is actually a reference to another blueprint.


function InitStateMachineReferenceTemplate

virtual void InitStateMachineReferenceTemplate(
    bool bInitialLoad =false
)

Instantiate a template for use as an archetype.


function DestroyReferenceTemplate

void DestroyReferenceTemplate()

Transfer the template to the transient package.


function GetStateMachineReference

inline USMBlueprint * GetStateMachineReference() const

The blueprint state machine this node references.


function GetStateMachineReferenceTemplateDirect

inline USMInstance * GetStateMachineReferenceTemplateDirect() const

Return the pointer to the reference template.


function SetUseIntermediateGraph

void SetUseIntermediateGraph(
    bool bValue
)

Signal if a reference graph should be used. Will create one if necessary.


function CreateBoundGraph

virtual void CreateBoundGraph()

Creates the appropriate bound graph depending on settings.


function UpdateEditState

virtual void UpdateEditState()

Set the read only state of the graph if this is a reference.


function IsStateMachineReference

inline bool IsStateMachineReference() const

If this node references a state machine blueprint.


function IsBoundGraphInvalid

bool IsBoundGraphInvalid() const

function NeedsIntermediateGraph

bool NeedsIntermediateGraph() const

Doesn't have intermediate graph but requires it.


function HasIntermediateGraph

bool HasIntermediateGraph() const

Set but may not be in use.


function IsUsingIntermediateGraph

bool IsUsingIntermediateGraph() const

Enabled and in use.


function ShouldUseIntermediateGraph

bool ShouldUseIntermediateGraph() const

User has indicated to use intermediate graph.


function ShouldUseTemplate

bool ShouldUseTemplate() const

If true a template will be generated.


function ShouldReuseCurrentState

bool ShouldReuseCurrentState() const

If the current state is reused on end/start


function ShouldReuseIfNotEndState

bool ShouldReuseIfNotEndState() const

Do not reuse if in an end state


function ShouldWaitForEndState

bool ShouldWaitForEndState() const

If the FSM is configured to wait for an end state.


function IsSwitchingGraphTypes

bool IsSwitchingGraphTypes() const

function GetStateMachineReferencePropertyName

static inline FName GetStateMachineReferencePropertyName()

Return the protected ReferencedStateMachine property name.


Protected Functions Documentation

function OnConvertToCurrentVersion

virtual void OnConvertToCurrentVersion(
    bool bOnlyOnLoad
) override

function Internal_GetBackgroundColor

virtual FLinearColor Internal_GetBackgroundColor() const override

function HasLogicStates

virtual bool HasLogicStates() const

If this state machine contains any actual states.


function ConfigureInitialReferenceTemplate

void ConfigureInitialReferenceTemplate()

First time setup when enabling or disabling templates.


function SetNodeClassFromReferenceTemplate

void SetNodeClassFromReferenceTemplate()

Checks the reference template for a node class assigned and sets it to this node if it is different.


Protected Attributes Documentation

variable ReferencedStateMachine

TObjectPtr< USMBlueprint > ReferencedStateMachine;

variable DesiredNodeName

FString DesiredNodeName;

variable bShouldUseIntermediateGraph

uint8 bShouldUseIntermediateGraph;

variable bNeedsNewReference

uint8 bNeedsNewReference;

variable bSwitchingGraphTypes

uint8 bSwitchingGraphTypes;

Private Attributes Documentation

variable DynamicClassVariable

FName DynamicClassVariable;

Dynamically choose the state machine class for the reference at run-time.

Select a variable from this state machine of type TSubclassOf (State Machine Instance -> Class Reference)

This variable will be checked during initialization time and the reference will be created based on the class the variable is set to.

The class should be a subclass of the default reference provided.


variable bReuseCurrentState_DEPRECATED

uint8 bReuseCurrentState_DEPRECATED;

Deprecated:

Set on the node template instead.


variable bReuseIfNotEndState_DEPRECATED

uint8 bReuseIfNotEndState_DEPRECATED;

Deprecated:

Set on the node template instead.


variable bAllowIndependentTick

uint8 bAllowIndependentTick;

Allows the state machine reference to tick on its own.


variable bCallTickOnManualUpdate

uint8 bCallTickOnManualUpdate;

The Update method will call Tick only if Update was not called by native Tick.


variable bReuseReference_DEPRECATED

uint8 bReuseReference_DEPRECATED;

Reuse one instance of this class multiple times in the same blueprint. Only works with other references of the exact same class that have this flag checked. Will not work with templating. Will not work properly with looking up nodes by Guid or for serializing state information. Do NOT use if the state machine needs to be saved to disk and reloaded during run-time.

This is to maintain legacy behavior and not encouraged for use.

Deprecated:

Reusing references is no longer supported.


variable bUseTemplate

uint8 bUseTemplate;

Enable the use of an archetype to allow default values to be set.


variable ReferencedInstanceTemplate

TObjectPtr< USMInstance > ReferencedInstanceTemplate;

variable StateMachineClass

TSubclassOf< USMStateMachineInstance > StateMachineClass;

Select a custom node class to use for this node. This can be a blueprint or C++ class.