- StateTree asset allowed by a StateTreeReference can be filtered by using "meta=(schema="SomeSchema")" on the UPROPERTY of type StateTreeReference.
#rnx
#rb mikko.mononen
#preflight 627a6fd7e713fc6e2c4cddae
[CL 20122645 by Yoan StAmant in ue5-main branch]
- Fixed unset index check in UStateTree::Link() and FStateTreeExecutionContext
- Changed FStateTreeExecutionContext to call ExitState() from leaf-to-root
- Fixed handling of empty sources in FStateTreePropertyBindings::CopyTo()
#jira none
#review
#preflight 6273c1005b05fb4f601353b4
[CL 20056497 by mikko mononen in ue5-main branch]
- Added specific "subtree" states which can be linked to via a "linked" state
- Subtrees can only bind data back to the their root state (or tree "global" data)
- Added property bag based parameters to subtree and linked states
- Update (transient) property bag structs before resolving property paths
- Linked states reflect their parameters from the state they link to
- Added property binding to and from parameters
- Relaxed the property binding to fail if the source data is not available
- Allow enter conditions to bind to tasks, and fail the expression if trying to access unaccessible data
- Added icon for linked and subtree states
- Added source type for all binding source structs
- Added UStateTreeEditorData::VisitHierarchy to simplify iterating over all states
#jira UE-147507
#rb Yoan.StAmant
#preflight 626a47182d28b9d0f77223f5
[CL 19954567 by mikko mononen in ue5-main branch]
- The 'TargetProperty' pointer was utilized before it was verified against nullpt
- The modification of the 'TreeDescIndex' variable is unsequenced relative to another operation on the same variable. This may lead to undefined behavior.
#jira UE-148951 UE-149238
#rb Mieszko.Zielinski
#preflight 625feaafdd47b4ad2167447e
[CL 19827521 by mikko mononen in ue5-main branch]
+ 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]