USMStateInstance_Base¶
Module: SMSystem
#include <SMStateInstance.h>
Inherits from USMNodeInstance, UObject
Inherited by USMAnyStateInstance, USMConduitInstance, USMEntryStateInstance, USMStateInstance, USMStateMachineInstance
Description¶
[Logic Driver] The abstract base class for all state type nodes including state machine nodes and conduits.
To expose native member properties on the node they must be marked BlueprintReadWrite and not contain the meta keyword HideOnNode.
Public Functions¶
| Name | |
|---|---|
| USMStateInstance_Base() | |
| virtual void | PostLoad() override |
| virtual bool | IsInEndState() const override |
| void | OnStateBegin() ![]() |
| void | OnStateUpdate(float DeltaSeconds) ![]() |
| void | OnStateEnd() ![]() |
| bool | IsEndState() const ![]() |
| void | GetStateInfo(FSMStateInfo & State) const ![]() |
| bool | IsStateMachine() const ![]() |
| bool | IsEntryState() const ![]() |
| void | SetActive(bool bValue, bool bSetAllParents =false, bool bActivateNow =true) ![]() |
| void | EvaluateTransitions() ![]() |
| bool | GetOutgoingTransitions(TArray< USMTransitionInstance * > & Transitions, bool bExcludeAlwaysFalse =true) const ![]() |
| bool | GetIncomingTransitions(TArray< USMTransitionInstance * > & Transitions, bool bExcludeAlwaysFalse =true) const ![]() |
| USMTransitionInstance * | GetTransitionToTake() const ![]() |
| bool | SwitchToLinkedState(USMStateInstance_Base * NextStateInstance, bool bRequireTransitionToPass =true, bool bActivateNow =true) ![]() |
| bool | SwitchToLinkedStateByName(const FString & NextStateName, bool bRequireTransitionToPass =true, bool bActivateNow =true) ![]() |
| bool | SwitchToLinkedStateByTransition(USMTransitionInstance * TransitionInstance, bool bRequireTransitionToPass =true, bool bActivateNow =true) ![]() |
| bool | SwitchToLinkedStateByTransitionName(const FString & TransitionName, bool bRequireTransitionToPass =true, bool bActivateNow =true) ![]() |
| USMTransitionInstance * | GetTransitionByIndex(int32 Index) const ![]() |
| USMTransitionInstance * | GetOutgoingTransitionByName(const FString & Name) const ![]() |
| USMTransitionInstance * | GetIncomingTransitionByName(const FString & Name) const ![]() |
| USMStateInstance_Base * | GetNextStateByTransitionIndex(int32 Index) const ![]() |
| USMStateInstance_Base * | GetNextStateByName(const FString & StateName) const ![]() |
| USMStateInstance_Base * | GetPreviousStateByName(const FString & StateName) const ![]() |
| USMStateInstance_Base * | GetPreviousActiveState() const ![]() |
| USMTransitionInstance * | GetPreviousActiveTransition() const ![]() |
| bool | AreAllOutgoingTransitionsFromAnAnyState() const ![]() |
| bool | AreAllIncomingTransitionsFromAnAnyState() const ![]() |
| void | SetTimeInState(float InTimeSeconds) ![]() |
| const FDateTime & | GetStartTime() const ![]() |
| float | GetServerTimeInState(bool & bOutUsedLocalTime) const ![]() |
| void | GetAllNodesOfType(TArray< USMNodeInstance * > & OutNodes, TSubclassOf< USMNodeInstance > NodeClass, bool bIncludeChildren =true, const TArray< UClass * > & StopIfTypeIsNot =TArray< UClass * >()) const |
| const FLinearColor & | GetEndStateColor() const |
| bool | ShouldDisplayNameWidget() const |
| bool | ShouldUseDisplayNameOnly() const |
| const FSMStateConnectionValidator & | GetAllowedConnections() const |
| virtual bool | IsRegisteredWithContextMenu() const |
| virtual bool | HideFromContextMenuIfRulesFail() const |
| bool | GetAlwaysUpdate() const ![]() |
| void | SetAlwaysUpdate(const bool bValue) ![]() |
| bool | GetDisableTickTransitionEvaluation() const ![]() |
| void | SetDisableTickTransitionEvaluation(const bool bValue) ![]() |
| bool | GetDefaultToParallel() const ![]() |
| void | SetDefaultToParallel(const bool bValue) ![]() |
| bool | GetAllowParallelReentry() const ![]() |
| void | SetAllowParallelReentry(const bool bValue) ![]() |
| bool | GetStayActiveOnStateChange() const ![]() |
| void | SetStayActiveOnStateChange(const bool bValue) ![]() |
| bool | GetEvalTransitionsOnStart() const ![]() |
| void | SetEvalTransitionsOnStart(const bool bValue) ![]() |
| bool | GetExcludeFromAnyState() const ![]() |
| void | SetExcludeFromAnyState(const bool bValue) ![]() |
| bool | GetCanBeEndState() const ![]() |
| void | SetCanBeEndState(const bool bValue) ![]() |
| FName | GetHideFromContextMenuIfRulesFailPropertyName() |
| FName | GetRegisteredWithContextMenuPropertyName() |
Protected Functions¶
| Name | |
|---|---|
| virtual void | OnStateBegin_Implementation() |
| virtual void | OnStateUpdate_Implementation(float DeltaSeconds) |
| virtual void | OnStateEnd_Implementation() |
Public Attributes¶
| Name | |
|---|---|
| uint8 | InputPropertyEvalFlags |
| uint8 | OutputPropertyEvalFlags |
| uint8 | bEvalGraphsOnStart_DEPRECATED |
| uint8 | bEvalGraphsOnUpdate_DEPRECATED |
| uint8 | bEvalGraphsOnEnd_DEPRECATED |
| uint8 | bEvalGraphsOnRootStateMachineStart_DEPRECATED |
| uint8 | bEvalGraphsOnRootStateMachineStop_DEPRECATED |
| FOnStateBeginSignature | OnStateBeginEvent |
| FOnStateBeginSignature | OnPostStateBeginEvent |
| FOnStateUpdateSignature | OnStateUpdateEvent |
| FOnStateEndSignature | OnStateEndEvent |
Protected Attributes¶
| Name | |
|---|---|
| FLinearColor | NodeEndStateColor |
| FSMStateConnectionValidator | ConnectionRules |
| uint16 | bHideFromContextMenuIfRulesFail |
| uint16 | bRegisterWithContextMenu |
| uint16 | bShowDisplayNameOnly |
| uint16 | bDisplayNameWidget |
Friends¶
| Name | |
|---|---|
| class | USMGraphNode_StateNodeBase |
Additional inherited members¶
Public Functions inherited from USMNodeInstance
| Name | |
|---|---|
| USMNodeInstance() | |
| virtual void | Serialize(FArchive & Ar) override |
| virtual UWorld * | GetWorld() const override |
| virtual void | BeginDestroy() override |
| virtual bool | IsSupportedForNetworking() const override |
| virtual void | GetLifetimeReplicatedProps(TArray< FLifetimeProperty > & OutLifetimeProps) const override |
| virtual int32 | GetFunctionCallspace(UFunction * Function, FFrame * Stack) override |
| virtual bool | CallRemoteFunction(UFunction * Function, void * Parms, FOutParmRec * OutParms, FFrame * Stack) override |
| virtual UObject * | GetContext() const override ![]() |
| virtual void | NativeInitialize() |
| virtual void | NativeShutdown() |
| void | OnRootStateMachineStart() ![]() |
| void | OnRootStateMachineStop() ![]() |
| void | RunConstructionScript() |
| bool | ShouldSkipNativeEditorConstructionScripts() const |
| USMInstance * | GetStateMachineInstance(bool bTopMostInstance =false) const ![]() |
| void | SetOwningNode(FSMNode_Base * Node, bool bInIsEditorExecution =false) |
| const FSMNode_Base * | GetOwningNode() const |
| T * | GetOwningNodeAs() const |
| virtual const FSMNode_Base * | GetOwningNodeContainer() const |
| USMStateMachineInstance * | GetOwningStateMachineNodeInstance() const ![]() |
| TScriptInterface< ISMStateMachineNetworkedInterface > | GetNetworkInterface() const ![]() |
| virtual float | GetTimeInState() const ![]() |
| virtual bool | HasUpdated() const ![]() |
| bool | IsActive() const ![]() |
| const FString & | GetNodeName() const ![]() |
| const FGuid & | GetGuid() const ![]() |
| UTexture2D * | GetNodeIcon() const |
| FVector2D | GetNodeIconSize() const |
| FLinearColor | GetNodeIconTintColor() const |
| void | EvaluateGraphProperties(bool bTargetOnly =false, ESMGraphPropertyDirection Direction =ESMGraphPropertyDirection::Input) ![]() |
| const FGuid & | GetTemplateGuid() const |
| const FVector2D & | GetNodePosition() const ![]() |
| bool | IsInitialized() const ![]() |
| bool | IsInitializedAndReadyForInputEvents() const |
| bool | IsReplicationEnabled() const |
| void | SetEnableReplication(bool bNewValue) |
| FSMGraphProperty * | FindExposedPropertyOverrideByName(const FName & VariableName) const |
| virtual void | PostEditChangeProperty(FPropertyChangedEvent & PropertyChangedEvent) override |
| bool | WasArrayPropertyModified(const FName & PropertyName) const |
| bool | IsNodePinChanging() const |
| void | SetDisplayName(FName NewDisplayName) ![]() |
| void | SetNodeDescriptionText(FText NewDescription) ![]() |
| FText | GetNodeDescriptionText() const ![]() |
| void | SetNodeColor(FLinearColor NewColor) ![]() |
| void | SetUseCustomColor(bool bValue) ![]() |
| void | SetUseCustomIcon(bool bValue) |
| void | SetVariableReadOnly(FName VariableName, bool bSetIsReadOnly) ![]() |
| void | SetVariableHidden(FName VariableName, bool bSetHidden) ![]() |
| bool | IsEditorExecution() const ![]() |
| void | WithExecutionEnvironment(ESMExecutionEnvironment & ExecutionEnvironment) ![]() |
| TScriptInterface< ISMEditorGraphNodeInterface > | GetOwningEditorGraphNode() const ![]() |
| void | K2_TryGetOwningEditorGraphNode(TScriptInterface< ISMEditorGraphNodeInterface > & EditorNode, ESMValidEditorNode & IsValidNode) const ![]() |
| bool | IsInitializationThreadSafe() const |
| void | ResetVariables() ![]() |
| bool | GetResetVariablesOnInitialize() const |
| bool | HasCustomColor() const |
| const FLinearColor & | GetNodeColor() const |
| const FSMNodeDescription & | GetNodeDescription() const |
| bool | HasCustomIcon() const |
| FString | GetNodeDisplayName() const |
| void | SetTemplateGuid(const FGuid & NewTemplateGuid) |
| void | SetIsThreadSafe(bool bNewValue) |
| void | SetIsEditorThreadSafe(const bool bNewValue) |
| bool | GetIsEditorThreadSafe() const |
| TEnumAsByte< ESMNodeInput::Type > | GetInputType() const |
| int32 | GetInputPriority() const |
| bool | GetBlockInput() const |
| UInputComponent * | GetInputComponent() const ![]() |
| FName | GetConstructionScriptFunctionName() |
| FName | GetNodeDescriptionPropertyName() |
| FName | GetHideFromDropDownIfRulesFailPropertyName() |
Protected Functions inherited from USMNodeInstance
| Name | |
|---|---|
| virtual void | OnRootStateMachineStart_Implementation() |
| virtual void | OnRootStateMachineStop_Implementation() |
| void | ConstructionScript() ![]() |
| FSMGraphProperty * | FindOrAddExposedPropertyOverrideByName(const FName & VariableName) |
| void | OnPreCompileValidate(USMCompilerLog * CompilerLog) const |
| virtual void | OnPreCompileValidate_Implementation(USMCompilerLog * CompilerLog) const |
| virtual void | ConstructionScript_Implementation() |
| virtual UTexture2D * | GetNodeIcon_Implementation() const |
| virtual FVector2D | GetNodeIconSize_Implementation() const |
| virtual FLinearColor | GetNodeIconTintColor_Implementation() const |
| void | EnableInput() Input. |
| void | DisableInput() |
| void | OnContextPawnControllerChanged(APawn * Pawn, AController * NewController) |
Public Attributes inherited from USMNodeInstance
| Name | |
|---|---|
| TArray< FSMGraphProperty > | ExposedPropertyOverrides |
| uint8 | bEvalDefaultProperties |
| uint8 | bAutoEvalExposedProperties |
Protected Attributes inherited from USMNodeInstance
| Name | |
|---|---|
| bool | bSkipNativeEditorConstructionScripts |
| TObjectPtr< UTexture2D > | NodeIcon |
| FVector2D | NodeIconSize |
| FLinearColor | NodeIconTintColor |
| bool | bResetVariablesOnInitialize |
| FSMNodeDescription | NodeDescription |
| FLinearColor | NodeColor |
| uint8 | bDisplayCustomIcon |
| uint8 | bUseCustomColors |
| uint8 | bHideFromDropDownIfRulesFail |
| TObjectPtr< UInputComponent > | InputComponent |
| TEnumAsByte< ESMNodeInput::Type > | AutoReceiveInput |
| int32 | InputPriority |
| uint8 | bBlockInput |
Friends inherited from USMNodeInstance
| Name | |
|---|---|
| class | USMGraphNode_StateNode |
| class | USMGraphNode_TransitionEdge |
| struct | FSMNode_Base(FSMNode_Base ) |
| class | USMGraphNode_Base |
| class | USMGraphK2Node_PropertyNode_Base |
| class | FSMNodeInstanceCustomization |
Public Functions Documentation¶
function USMStateInstance_Base¶
function PostLoad¶
Reimplemented by: USMConduitInstance::PostLoad, USMStateMachineInstance::PostLoad
function IsInEndState¶
Deprecated:
Use either IsEndState() or USMStateMachineInstance::IsStateMachineInEndState() depending on use case.
Reimplements: USMNodeInstance::IsInEndState
function OnStateBegin¶

Called when the state is started.
function OnStateUpdate¶

Called when the state is updated.
Parameters:
DeltaSeconds- Time delta in seconds from the last update.
function OnStateEnd¶

Called when the state is ending. It is not advised to switch states during this event. The state machine will already be in the process of switching states.
function IsEndState¶

If this state is considered an end state.
function GetStateInfo¶

Return read only information about the owning state.
function IsStateMachine¶

Checks if this state is a state machine.
function IsEntryState¶

If this state is an entry state within a state machine.
function SetActive¶

Force set the active flag of this state. This call is replicated and can be called from the server or from a client. The caller must have state change authority.
When calling from a state, it should be done either OnStateBegin or OnStateUpdate. When calling from a transition it should be done from OnTransitionEntered and limited to the previous state. If this is called from other state or transition methods it may cause issues with the normal update cycle of a state machine.
Parameters:
bValue- True activates the state, false deactivates the state.
bSetAllParents- Sets the active state of all super state machines. A parent state machine won't be deactivated unless there are no other states active.
bActivateNow- If the state is becoming active it will fully activate and run OnStateBegin this tick. If this is false it will do so on the next update cycle.
function EvaluateTransitions¶

Signals to the owning state machine to process transition evaluation. This is similar to calling Update on the owner root state machine, however state update logic (Tick) won't execute. All transitions are evaluated as normal starting from the root state machine down. Depending on super state transitions it's possible the state machine this state is part of may exit.
function GetOutgoingTransitions¶
bool GetOutgoingTransitions(
TArray< USMTransitionInstance * > & Transitions,
bool bExcludeAlwaysFalse =true
) const

Return all outgoing transition instances.
Parameters:
Transitions- The outgoing transitions.
bExcludeAlwaysFalse- Skip over transitions that can't ever be true.
Return: True if any transitions exist.
function GetIncomingTransitions¶
bool GetIncomingTransitions(
TArray< USMTransitionInstance * > & Transitions,
bool bExcludeAlwaysFalse =true
) const

Return all incoming transition instances.
Parameters:
Transitions- The incoming transitions.
bExcludeAlwaysFalse- Skip over transitions that can't ever be true.
Return: True if any transitions exist.
function GetTransitionToTake¶

The transition this state will be taking. Generally only valid during OnStateEnd and if this state isn't an end state. May be null.
function SwitchToLinkedState¶
bool SwitchToLinkedState(
USMStateInstance_Base * NextStateInstance,
bool bRequireTransitionToPass =true,
bool bActivateNow =true
)

Forcibly move to the next state providing this state is active and a transition is directly connecting the states.
This should be done either OnStateBegin or OnStateUpdate. If this is called from other state methods it may cause issues with the normal update cycle of a state machine.
Parameters:
NextStateInstance- The state node instance to switch to.
bRequireTransitionToPass- Will evaluate the transition and only switch states if it passes.
bActivateNow- If the state switches the destination state will activate and run OnStateBegin this tick. Otherwise, it will do so in the next update cycle.
Return: True if the active state was switched.
function SwitchToLinkedStateByName¶
bool SwitchToLinkedStateByName(
const FString & NextStateName,
bool bRequireTransitionToPass =true,
bool bActivateNow =true
)

Forcibly move to the next state providing this state is active and a transition is directly connecting the states.
This should be done either OnStateBegin or OnStateUpdate. If this is called from other state methods it may cause issues with the normal update cycle of a state machine.
Parameters:
NextStateName- The name of the state to switch to.
bRequireTransitionToPass- Will evaluate the transition and only switch states if it passes.
bActivateNow- If the state switches the destination state will activate and run OnStateBegin this tick. Otherwise, it will do so in the next update cycle.
Return: True if the active state was switched.
function SwitchToLinkedStateByTransition¶
bool SwitchToLinkedStateByTransition(
USMTransitionInstance * TransitionInstance,
bool bRequireTransitionToPass =true,
bool bActivateNow =true
)

Forcibly move to the next state providing this state is active and a transition is directly connecting the states.
This should be done either OnStateBegin or OnStateUpdate. If this is called from other state methods it may cause issues with the normal update cycle of a state machine.
Parameters:
TransitionInstance- The transition which should be taken to the next state.
bRequireTransitionToPass- Will evaluate the transition and only switch states if it passes.
bActivateNow- If the state switches the destination state will activate and run OnStateBegin this tick. Otherwise, it will do so in the next update cycle.
Return: True if the active state was switched.
function SwitchToLinkedStateByTransitionName¶
bool SwitchToLinkedStateByTransitionName(
const FString & TransitionName,
bool bRequireTransitionToPass =true,
bool bActivateNow =true
)

Forcibly move to the next state providing this state is active and a transition is directly connecting the states.
This should be done either OnStateBegin or OnStateUpdate. If this is called from other state methods it may cause issues with the normal update cycle of a state machine.
Parameters:
TransitionName- The outgoing transition name which should be taken to the next state.
bRequireTransitionToPass- Will evaluate the transition and only switch states if it passes.
bActivateNow- If the state switches the destination state will activate and run OnStateBegin this tick. Otherwise, it will do so in the next update cycle.
Return: True if the active state was switched.
function GetTransitionByIndex¶

Return an outgoing transition given the transition index.
Parameters:
Index- The array index of the transition. If transitions have manual priorities they should correlate with the index value.
Return: The transition or nullptr.
function GetOutgoingTransitionByName¶

Return a transition given its name. O(n) by number of outgoing transitions.
Parameters:
Name- The name of the transition. The name is auto-generated by default.
Return: The transition or nullptr.
function GetIncomingTransitionByName¶

Return an incoming transition given its name. O(n) by number of incoming transitions.
Parameters:
Name- The name of the transition. The name is auto-generated by default.
Return: The transition or nullptr.
function GetNextStateByTransitionIndex¶

Return the next connected state given a transition index.
Parameters:
Index- The array index of the transition. If transitions have manual priorities they should correlate with the index value.
Return: The connected state or nullptr.
function GetNextStateByName¶

Return the next state connected by an outgoing transition. O(n) by number of transitions.
Parameters:
StateName- Name of the state to search for.
Return: The connected state or nullptr.
function GetPreviousStateByName¶

Return a previous state connected through an incoming transition. O(n) by number of transitions.
Parameters:
StateName- Name of the state to search for.
Return: The connected state or nullptr.
function GetPreviousActiveState¶

Retrieve the last active state that transitioned to this state. This will not count transition conduits.
Return: The state instance last active before this state became active. May be nullptr.
function GetPreviousActiveTransition¶

Retrieve the last transition taken to this state.
Return: The transition instance last active before this state became active. May be nullptr.
function AreAllOutgoingTransitionsFromAnAnyState¶

Checks if every outgoing transition was created by an Any State.
function AreAllIncomingTransitionsFromAnAnyState¶

Checks if every incoming transition was created by an Any State.
function SetTimeInState¶

Set the current time the state will be considered active for.
Parameters:
InTimeSeconds- The total time in seconds.
function GetStartTime¶

Retrieve the UTC time when the state last started. If this is called before the state has started once, or before initialization (such as during an editor construction script) the datetime will be initialized to 0.
Return: DateTime in UTC. This is when the state started locally and won't be in sync with the server.
function GetServerTimeInState¶

Retrieve the time the server spent in the state. This is retrieved from network transactions and can match the TimeInState from the server.
This will only match the server after OnStateEnd() is called and provided the client received the replicated transition. When using client state change authority, USMStateMachineComponent::bWaitForTransactionsFromServer must be set to true for the client to receive the updated server time.
When the server time can't be calculated the local time will be returned instead, using GetTimeInState().
The return value is impacted by bCalculateServerTimeForClients of the state machine component's network settings, and whether the state machine is networked, a client or server, or is ticking.
Parameters:
bOutUsedLocalTime- [Out] Indicates that local time from GetTimeInState() was used.
Return: The total time spent in the state, either matching the server or the current local time spent.
function GetAllNodesOfType¶
void GetAllNodesOfType(
TArray< USMNodeInstance * > & OutNodes,
TSubclassOf< USMNodeInstance > NodeClass,
bool bIncludeChildren =true,
const TArray< UClass * > & StopIfTypeIsNot =TArray< UClass * >()
) const
Recursively search connected nodes for nodes matching the given type.
Parameters:
OutNodes- All found nodes.
NodeClass- The class type to search for.
bIncludeChildren- Include children of type NodeClass or require an exact match.
StopIfTypeIsNot- The search is broken when a node's type is not found in this list. Leave empty to never break the search.
function GetEndStateColor¶
function ShouldDisplayNameWidget¶
function ShouldUseDisplayNameOnly¶
function GetAllowedConnections¶
function IsRegisteredWithContextMenu¶
Deprecated:
This function is no longer used. Set bRegisterWithContextMenu from the C++ constructor or use the NotPlaceable UClass specifier to prevent registration.
function HideFromContextMenuIfRulesFail¶
Deprecated:
This function is no longer used. Set bHideFromContextMenuIfRulesFail from the C++ constructor instead.
function GetAlwaysUpdate¶

Public getter for bAlwaysUpdate.
function SetAlwaysUpdate¶

Public setter for bAlwaysUpdate.
function GetDisableTickTransitionEvaluation¶

Public getter for bDisableTickTransitionEvaluation.
function SetDisableTickTransitionEvaluation¶

Public setter for bDisableTickTransitionEvaluation.
function GetDefaultToParallel¶

Public getter for bDefaultToParallel. Only valid for the editor.
function SetDefaultToParallel¶

Public setter for bDefaultToParallel. Only valid from the editor construction script.
function GetAllowParallelReentry¶

Public setter for bAllowParallelReentry.
function SetAllowParallelReentry¶

Public setter for bAllowParallelReentry.
function GetStayActiveOnStateChange¶

Public setter for bStayActiveOnStateChange.
function SetStayActiveOnStateChange¶

Public setter for bStayActiveOnStateChange.
function GetEvalTransitionsOnStart¶

Public setter for bEvalTransitionsOnStart.
function SetEvalTransitionsOnStart¶

Public setter for bEvalTransitionsOnStart.
function GetExcludeFromAnyState¶

Public getter for bExcludeFromAnyState. Only valid for the editor.
function SetExcludeFromAnyState¶

Public setter for bExcludeFromAnyState. Only valid from the editor construction script.
function GetCanBeEndState¶

Public setter for bCanBeEndState.
function SetCanBeEndState¶

Public setter for bCanBeEndState.
function GetHideFromContextMenuIfRulesFailPropertyName¶
function GetRegisteredWithContextMenuPropertyName¶
Protected Functions Documentation¶
function OnStateBegin_Implementation¶
function OnStateUpdate_Implementation¶
function OnStateEnd_Implementation¶
Public Attributes Documentation¶
variable InputPropertyEvalFlags¶
Flags for when input graph properties should evaluate.
variable OutputPropertyEvalFlags¶
Flags for when output graph properties should evaluate.
variable bEvalGraphsOnStart_DEPRECATED¶
Deprecated:
Use InputPropertyEvalFlags or OutputPropertyEvalFlags instead.
variable bEvalGraphsOnUpdate_DEPRECATED¶
Deprecated:
Use InputPropertyEvalFlags or OutputPropertyEvalFlags instead.
variable bEvalGraphsOnEnd_DEPRECATED¶
Deprecated:
Use InputPropertyEvalFlags or OutputPropertyEvalFlags instead.
variable bEvalGraphsOnRootStateMachineStart_DEPRECATED¶
Deprecated:
Use InputPropertyEvalFlags or OutputPropertyEvalFlags instead.
variable bEvalGraphsOnRootStateMachineStop_DEPRECATED¶
Deprecated:
Use InputPropertyEvalFlags or OutputPropertyEvalFlags instead.
variable OnStateBeginEvent¶
Called right before the state has started. This is meant for an observer to be aware of when a state is about to start. This will only be called for state stack instances if the state is allowed to execute logic. Do not change states from within this event, the state change process will still be in progress.
variable OnPostStateBeginEvent¶
Called right after the state has started. This is meant for an observer to be aware of when a state has started. If you need to change states this event is safer to use, but ideally state changes should be managed by transitions or from within the state.
This will only be called for state stack instances if the state is allowed to execute logic, and will be called before the primary instance's OnPostStateBeginEvent. It is not safe to change states from this event when broadcast from a state stack instance.
variable OnStateUpdateEvent¶
Called before the state has updated. This is meant for an observer to be aware of when a state is updating and it is not advised to switch states from this event.
variable OnStateEndEvent¶
Called before the state has ended. It is not advised to switch states during this event. The state machine will already be in the process of switching states.
Protected Attributes Documentation¶
variable NodeEndStateColor¶
The color this node should be when it is an end state.
variable ConnectionRules¶
Define what types of connections are allowed. Default is all.
variable bHideFromContextMenuIfRulesFail¶
Restrict placement unless rules can be verified. Ex: If the rule says this can only be connected from a state node, then this won't show in the context menu unless dragging from a state node.
variable bRegisterWithContextMenu¶
Allows this node to be displayed in the graph context menu when placing nodes.
variable bShowDisplayNameOnly¶
When true only the Name set above will be displayed. The node cannot be renamed. This allows duplicate names to be displayed in the same graph. The node's internal name and local graph name will still be unique.
variable bDisplayNameWidget¶
Whether the name of this state should be visible on the node. It can still be changed in the details panel or by renaming the state graph.
Private Attributes Documentation¶
variable bDisableTickTransitionEvaluation¶
Prevents conditional transitions for this state from being evaluated on Tick. This is good to use if the transitions leading out of the state are event based or if you are manually calling EvaluateTransitions from a state instance.
variable bEvalTransitionsOnStart¶
When true and a state is started OnStateBegin fires and then transitions are evaluated in the same tick. When false and a state is started OnStateBegin fires on the first tick and transitions are evaluated on the second tick.
This can be chained with other nodes that have this checked making it possible to evaluate multiple nodes and transitions in a single tick.
When using this consider performance implications and any potential infinite loops such as if you are using a self transition on this state.
Individual transitions can modify this behavior with bCanEvalWithStartState.
variable bAlwaysUpdate¶
Always update the state at least once before ending.
variable bCanBeEndState¶
If this state is allowed to ever be considered an end state. Disabling this will prevent a state machine that is configured to stop on end state from stopping when reaching this state, even if this state is technically an end state.
variable bDefaultToParallel¶
Sets all current and future transitions from this state to run in parallel. Conduit nodes are not supported.
variable bAllowParallelReentry¶
If this state can be reentered from a parallel state if this state is already active. This will not call On State End but will call On State Begin.
variable bStayActiveOnStateChange¶
If the state should remain active even after a transition is taken from this state.
variable bExcludeFromAnyState¶
Prevents the Any State node from adding transitions to this node. This can be useful for maintaining end states.



























