+ Added StateTree parameters usable for data bindings and that could be overriden on context initialization by a StateTreeReference
+ Added StateTreeReference struct to hold a reference to a StateTree asset along with a list of values to parameterized the tree.
+ Added named external data items that are defined bt the Schema and for which values must be provided at runtime through the execution context.
+ Added delegate OnPostCompile after successful compilation. The StateTreeReference listens to it to validate its parameters
+ EditorData now contains its own version of the schema and parameters. On successful compilation they are copied over the StateTree own properties.
#rnx
#rb mikko.mononen
#preflight 6255d281647ad886b3593cb0
[CL 19727363 by Yoan StAmant in ue5-main branch]
- fixed external requirements set by StateTreeBrainComponent to find more specific actor classes first before defaulting on AActor
- added missing supported type FMassSharedFragment for MassStateTreeSchema
- moved StateTreeLinker to it own file and handle its potential failures
#rb mikko.mononen
#rnx
#preflight 624d98fd8e5ae00f0aca3123
[CL 19646871 by Yoan StAmant in ue5-main branch]
- Removed unnecessary checks for specific transition (handled in enter state logic)
- Added state type to StateTreeState, State, Group, or Linked
- StateTreeState property customization hides properties based on type
- Allow a state to link to another state
- Changed baker binding validation to handle linked states
- Added linked state handling in execution context
- Updated UI deal with linked states
- Updated gameplay debugger to deal with linked states
- Moved automatic Root state adding from Editor data to editor open (tests were broken due to extra root state)
- Fixed tests and added simple test for linked state
- Added meta to tag to state link to allow to select only direct states (no next, etc)
- Added counter to track state changes (mainly for debugging)
#jira UE-147509
#review
#preflight 624beb69637925b5d306d8e7
[CL 19621621 by mikko mononen in ue5-main branch]
#jira UE-146925
#review-19478890
- Added ability to combine conditions into expressions
- Added editor UI for the expressions
- Replaced condition description with a name (makes the expressions faster to skim)
#preflight 62417309361866e20ffa6320
[CL 19524558 by mikko mononen in ue5-main branch]
- Moved instance object directly on FStateTreeInstanceData to make easier to access
- Internal instance data on FStateTreeExecutionContext is not property to simplify handling
- Link & resolve properties on UStateTree when objects are replaced (to refresh cached property pointers)
- Moved instance data initialization out from FStateTreeExecutionContext
#preflight 623b0bff10251d53d5823f3e
[CL 19477789 by mikko mononen in ue5-main branch]
- Mark the StateTree instance data standalone and transient
- Mark references to StateTree instance data struct transient
#jira UE-144758
#rb mieszko.zielinski
#preflight 6228846e0d5a90e98eb5fb0e
#lockdown nick.whiting
#ROBOMERGE-OWNER: julien.marchand
#ROBOMERGE-AUTHOR: mikko.mononen
#ROBOMERGE-SOURCE: CL 19320692 in //UE5/Release-5.0/... via CL 19323985
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)
[CL 19348060 by julien marchand in ue5-main branch]
- Added new struct to hold instance data
- Removed on the fly created customs struct for storing the instance data
- The Mass StateTree instance data is not a fragment anymore
- Fixes crash when using StateTreeBrainComponent directly on actor
- Moved StateTree activation processor settings to Mass Behavior settings
#jira UE-133870
#rb Yoan.StAmant
#preflight 62178318db60b6b592190db8
[CL 19112506 by mikko mononen in ue5-main branch]
- Renamed uses of item to node
- Added base class for Conditions, Evals & Tasks
#jira UE-140363
#rb mieszko.zielinski
#preflight 61fa4083db42673a6020f1fb
#lockdown julien.marchand
#ROBOMERGE-AUTHOR: mikko.mononen
#ROBOMERGE-SOURCE: CL 18841581 in //UE5/Release-5.0/... via CL 18841871 via CL 18842048
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)
[CL 18842354 by mikko mononen in ue5-main branch]
- Added Compile button and compilation state indication
- Removed compile-on-save
- Prevent compiling during PIE
#jira UE-140363
[REVIEW]
#preflight 61f91266c54b18c42dcefc21
#ROBOMERGE-AUTHOR: mikko.mononen
#ROBOMERGE-SOURCE: CL 18806713 in //UE5/Release-5.0/... via CL 18808593 via CL 18822193
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)
[CL 18822498 by mikko mononen in ue5-main branch]
- Removed State Succeeded/Failed from transitions as it currently does not make sense
- Change "Add Routine" button to "Add State"
-Rrenamed routines to SubTrees, generally support just one
- Add a root node by default
#jira UE-140363
#rb Yoan.StAmant
#preflight 61f3a6bf801201ab387c9b99
#ROBOMERGE-AUTHOR: mikko.mononen
#ROBOMERGE-SOURCE: CL 18769095 in //UE5/Release-5.0/... via CL 18769102 via CL 18769116
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18769117 by mikko mononen in ue5-main branch]
- EnterState() stops on failure, ExitState() handled symmetrically up to the last failed task
- Allow to run evaluators when reselecting a state after failed EnterState()
#jira none
#preflight 61b1d3e2274068529fddcafe
#ROBOMERGE-AUTHOR: mikko.mononen
#ROBOMERGE-SOURCE: CL 18417260 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v897-18405271)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0
[CL 18417297 by mikko mononen in ue5-release-engine-test branch]
- allow to disable enter conditions and evaluators
- allow to configure state to have just one task
#jira UE-135723
#preflight 61b067d35c61dba07bef0718
#ROBOMERGE-AUTHOR: mikko.mononen
#ROBOMERGE-SOURCE: CL 18403954 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v896-18170469)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0
[CL 18403964 by mikko mononen in ue5-release-engine-test branch]
Added a check to make usre StateTrees have valid instances, and prevented adding Mass Behavior subsystems when an ExecutionContext fails to initialize.
[FYI] [at]Julien.Marchand, [at]Mikko.Mononen
#jira UE-134972, UE-134977
#ROBOMERGE-AUTHOR: jon.nabozny
#ROBOMERGE-SOURCE: CL 18192097 via CL 18372150 via CL 18372271
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18372327 by jon nabozny in ue5-release-engine-test branch]