Skeleton compatibility is now bi-directional. Specifying a compatible skeleton A -> B now implies B -> A.
Skeleton compatibility is now an editor-only concern. The runtime will attempt to do the 'best it can' via name -> name mappings. Only the editor will prevent assigning incompatible skeletons in (e.g.) asset pickers etc.
Skeleton compatibility checks in editor can now be disabled in the editor preferences (and each asset picker now has a checkbox option in its view settings that allows for quick access to this).
Moves FSkeletonRemapping to its own file (which is now private).
Skeleton remappings are now generated on demand on worker threads just before animation decompression and stored in a registry, guarded by FRWScopeLock for thread-safety.
Fixed some anim BP compiler edge cases where asset references on pins were not getting preloaded correctly, causing skeletons to be erroneously reported as missing.
Exposed the current asset registry filter in SAssetView so that menu extensions can access it (and use it to provide context)
#jira UE-166054
#jira UE-167355
#rb Jurre.deBaare,John.vanderBerg
#preflight 635902602e6690262afa86f9
[CL 22878911 by Thomas Sarkanen in ue5-main branch]
* Only nodes which have been setup to have drawable elements should be drawn when pose watched, such as 'RigidBody'.
* Anim nodes with custom edit modes should only draw their widgets when explicitly selected or override IAnimNodeEditMode::SupportsPoseWatch
#jira 165766
#rb thomas.sarkanen
#preflight 63514130047f3570adddd035
[CL 22655755 by lucas dower in ue5-main branch]
* Tab filters are now applied before tab widgets before are created for animation blueprint editor instead of only when a user tries opening a new tab. This prevents disallowed tabs in default layouts being created.
* Event graph documents are not opened if event graph permissions are disabled when loading blueprint editor.
* Added new blueprint permission to optionally disable function overrides.
#rb thomas.sarkanen
#preflight 6346928ef04e6f8505f7b879
[CL 22547860 by eric knapik in ue5-main branch]
* Fix for Persona mesh sections showing as selectable when not.
* Fix for editor viewport cursor style not updating if using orbit camera mode.
#jira UE-157811
#rb thomas.sarkanen
#preflight 63246538ea1c94f4c5b3dfc7
[CL 22052213 by lucas dower in ue5-main branch]
Guarded against a null graph selection in IsEditable()
#jira UE-159116
#rb Jurre.deBaare
#preflight 632323873523d263aa159a86
[CL 22035592 by thomas sarkanen in ue5-main branch]
This change also added a delegate to FPersonaToolkitArgs with reference to a IDetailBuilderLayout so assets can customize the Preview Scene Settings.
#JIRA https://jira.it.epicgames.com/browse/UE-148894
#rb halfdan.ingvarsson
#preflight
#preflight 631b7a00967ffc68fb262e06
[CL 21924418 by kiaran ritchie in ue5-main branch]
This is to be able to quickly hide all pins on linked graph nodes based on animation instance that expose a lot of properties
[REVIEW] [at]Thomas.Sarkanen
#tests PIE
#jira UE-156233
[FYI] [at]Paul.McLaurin
[CL 21908860 by frederick lupien in ue5-main branch]
- Pose watches can now contain elements which represent different asspects of an anim nodes debug draw (i.e. bodies and constraints in RBAN)
- Elements can be used to enable anim node debug draw even when a node is not selected, acting in the same way as the previous pose watches
- The previous Pose watch behavior is now provided by an element within a pose watch
- RBAN nodes now make use of Pose Watch Elements
- Moved skeleton draw parameter UPROPERTIES from PoseWatch to specialised PoseWatchPoseElement class
#rb [at]Thomas.Sarkanen, [at]Lucas.Dower
#preflight 62d6a3e43c3df323901fca27
#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 21174786 via CL 21175779 via CL 21181135
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
[CL 21192394 by nick brett in ue5-main branch]
+ Support for editing most geometric parameters (Joint Offsets, Box Extents, Collision Planes etc) with a TRS Widget.
+ Allow parameters to be edited for each individual physics body in a chain.
+ DEPRECATED some physics body properties, these are now held in an array, one instance per physics body.
+ Changed definition of LocalJointOffset - was joint position relative to physics body, now physics body position relative to joint
+ Fix for apparent bug in position constraints between chain bodies.
+ Added a new AnimDynamics Edit Mode to support new widget features.
+ Changes to details panel layout.
#rb [at]Benn.Gallagher, [at]Thomas.Sarkanen
[FYI] [at]charles.anderson
#preflight 61eec96daa3f15faa57b841f
#ROBOMERGE-OWNER: nick.brett
#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 18721085 via CL 18721089 via CL 18721093 via CL 18724643 via CL 18724991
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18725005 by nick brett in ue5-main branch]
- Pose watch manager now in default anim bp layout
- Fix for being unable to make pose watches created from 'Automatically create pose watch on selection' setting a permanent pose watch and vice versa
- Cleaned up drag-and-drop validation
- Updated context menus
- Improved resolving name clashes
#jira UE-136746
#jira UE-136745
#rb Thomas.Sarkanen
#preflight 61b33ae1ee0de9822e3a62cc
#ROBOMERGE-AUTHOR: lucas.dower
#ROBOMERGE-SOURCE: CL 18430031 in //UE5/Release-5.0/... via CL 18435283
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)
[CL 18435504 by lucas dower in ue5-release-engine-test branch]
Adds 'template' anim BP concept. These anim BPs have no TargetSkeleton and as such cannot have direct references to animations placed inside of their anim graphs
Adds function call support from anim nodes. All anim graph nodes can now call functions when initialized, updated, evaluated or when they first become relevant.
Relevancy is established using a new FAnimSubsystemInstance_NodeRelevancy which tracks nodes in a local map, per UAnimInstance, if nodes require it.
Functions are displayed on the node if bound, and in the details panel.
Added a new override point to FAnimSubsystemInstance to allow for WT init.
Moved FMemberReference customization into a public header so it can be used on anim node functions.
Wrapped functions up into FAnimNodeFunctionRef structure so they can be re-used more effectively. Converted CallFunction node to use them.
Added a couple of simple BP function libraries to demonstrate the use of the new FAnimNodeContext (this is intended to be a generic way of exposing FAnimNode_Base types to script without the node types themselves having to be known to script directly).
Added the ability to set exposed properties as 'always dynamic' so they appear in mutable data rather than being merged into constants. This allows for the anim node data API to be changed to be less strict (and more script friendly). Now values can be set in mutable data (via GET_MUTABLE_ANIM_NODE_DATA_PTR) and attempted sets to constant data can be ignored and reported to client code.
A few minor crash fixes with edge cases (inc when trying to open an asset editor fails because of a missing skeleton/cancellation).
Also fixes an issue where literal linked anim graph/control rig/custom poroperty node inputs didnt get copied
#rb Jurre.deBaare,Aaron.Cox
#ROBOMERGE-SOURCE: CL 16703644 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)
[CL 16703653 by thomas sarkanen in ue5-release-engine-test branch]