Called when the immediate owning state machine blueprint is starting. If this is part of a reference then it will be called when the reference starts. If this is for a state machine node then it will only be called when the top level state machine starts.
Called when the immediate owning state machine blueprint is stopping. If this is part of a reference then it will be called when the reference stops. If this is for a state machine node then it will only be called when the top level state machine stops.
Legacy method available to all node types determining if the state machine node is in an end state or a state node is an end state.
When called from state machine nodes it checks if the state machine is in an end state. When called from other state types it is equivalent to calling USMStateInstance_Base::IsEndState() on the state. When called from transitions it is equivalent to calling IsInEndState() on the previous state.
Overloading this method has no effect on whether a state is considered an end state or not. This method is not used internally in the plugin and only meant for observers.
Evaluate graphs of properties exposed directly on this node.
Parameters:
bTargetOnly
Only evaluate graph properties for the target node instance (such as a self target). Useful for only evaluating properties of select state stack instances.
Sets the display name of the node. Valid from editor construction scripts only. bShowDisplayNameOnly must be set to true for the display name to be visible.
Sets the text description of the node. This generally only impacts the tooltip in the state machine graph. Valid from editor construction scripts only.
Checks if this node is running for an editor state machine. This is generally only valid during editor time construction scripts. Use this to allow the construction script to set default values during compile instead of recalculating values during run-time.
Return the UEdGraphNode owning this node instance template. This is only valid in the editor while designing state machines. If valid this means you are editing the node in the state machine at editor time.
This can be used in editor construction scripts or editor only methods like PostEditChangeProperty.
Return the UEdGraphNode owning this node instance template. This is only valid in the editor while designing state machines. If valid this means you are editing the node in the state machine graph at editor time.
This can be used in editor construction scripts.
Parameters:
EditorNode
The UEdGraphNode containing this node instance template.
IsValidNode
The execution path to take if the UEdGraph node is valid or not.
Retrieve the input component this node created with AutoReceiveInput. The input component will only be valid if AutoReceiveInput is not disabled and this node is initialized.
A construction script that runs in the editor when the blueprint is modified. During run-time it will run after all nodes have instantiated.
When running with Editor Execution, only default values entered into public properties from the state machine graph will be available. Connecting a variable to a public property within the state machine graph will not evaluate until run-time. Additionally, the owning SMInstance will not be available at editor time since that is the class being compiled.
If construction scripts aren't working in the editor, you may need to adjust your settings to Standard.
To configure editor construction script settings, go under Project Settings -> Logic Driver -> Editor Node Construction Script Setting.
Warning:
Any values set here while running with editor execution will replace the instance default values in state machine graphs when that state machine is compiled.
Customize how exposed graph properties are displayed on the node.
Match the variable name with the variable you want to override. Property must be instance editable.
These values can be edited directly on the variable's details panel in the blueprint editor. Elements will be added automatically in this case.
This exact property is only visible in the class defaults if the Project Editor setting bEnableVariableCustomization is false.
If this needs to be programatically modified, it should be done so through the editor module's FSMNodeInstanceUtils ExposedPropertyOverride methods.
Warning:
This array and all elements are not safe to modify through C++ unless done so in the C++ constructor or by property handles. Otherwise changes may not be propagated to instances in graphs.
Should graph properties evaluate even if they only contain default values. This includes properties that have values directly entered into a node without any blueprint expressions connected, such as typing a value into a string field.
When false default values entered into an exposed property won't ever evaluate and the value at compile time will be used until modified at run-time. If any blueprint pins are connected to the property then this setting doesn't apply.
Setting this to off is an optimization and may improve performance. However, if you modify the value at run-time it will no longer reset (re-evaluate) to the default value On State Begin. This is on by default for backwards compatibility and to maintain consistent behavior with variable evaluation.
Tell the state machine compiler to skip editor construction scripts for this native class.
This is primarily an optimization to improve performance when construction scripts aren't used on native classes. For blueprint classes the state machine compiler can easily check if there is logic defined, but not for native classes.
Children class may override this behavior, and blueprint children will override if there is any construction script logic defined.
Whether any components lower on the input stack should be allowed to receive input. If AutoReceiveInput is set to UseOwningStateMachine this has no effect.
If this node can be created on a new thread with async initialization when playing in the editor. Nodes may contain editor only code that isn't always thread safe, such as slate styling found in TextGraph properties.
If you experience crashes in the editor with async initialization consider turning this off.
Return the frame this node was initialized for this run. Resets each time a run is initialized or shutdown. Primarily used for determining if input events should fire.