Introduces a serial number to FBoneContainer that allows easier refreshing of bone-relative data. Eventually the overall CacheBones path could be superseded with lazy-update systems based on this serial number.
#jira UE-116464 - Layered blend per bone crash
#rb Jurre.deBaare
[CL 16466917 by Thomas Sarkanen in ue5-main branch]
Use correct title for asset players when asset is bound to property access
#jira UE-116472 - Asset players bound via property access incorrectly report that they use asset 'None'
#rb Jurre.deBaare
[CL 16466900 by Thomas Sarkanen in ue5-main branch]
Binding workflow is now common with control rig
Bindings still show up on pins when bound, but the binding combobox is not displayed until bound
#rb Jurre.deBaare
[CL 16465796 by Thomas Sarkanen in ue5-main branch]
Menu extender wasnt being correctly combined with a last minute change to fix a CIS issue.
#rb Jurre.deBaare
[CL 16445600 by Thomas Sarkanen in ue5-main branch]
Fast path copies were unaffected as they defaulted to their generated BP logic, despite the fast path not being generated.
#jira UE-116370 - Property Access failing to bind under specific conditions
#rb Jurre.deBaare,Koray.Hagen
[CL 16445486 by Thomas Sarkanen in ue5-main branch]
Titles & icons tweaked to emphasise the linked content, not the type of the node.
Also fixes bounding box init issue when spawning new input pose nodes in linked anim graphs
Added the ability to override the tag checked when vierufying skeleton compatibility by FAssetData. This allows anim BPs to use the functionality as they have a "TargetSkeleton" tag vs. other assets with a "Skeleton" tag.
#rb Jurre.deBaare
[CL 16434383 by Thomas Sarkanen in ue5-main branch]
Unified the approach to gathering assets and spawning nodes from them. Previously each had its own slightly unique code doing similar things.
Note that with this change it is now possible to directly spawn 'evaluator' style nodes from the context menu instead of relying on a context menu conversion step.
Also tweaked icons, tooltips and titles for consistency
#rb Jurre.deBaare
[CL 16434364 by Thomas Sarkanen in ue5-main branch]
"Call function" anim node:
- Adds the ability to call functions at different points in the anim graph execution (and under different conditions, e.g. when a branch has started blending in). Only thread-safe functions are allowed to be called.
- Adds a thread-safe override point BlueprintThreadSafeUpdateAnimation, called on worker threads for the main instance and for linked instances when they are relevant in the graph (only one call per frame for linked layer instances).
Subsystems:
- Added new override points pre/post event graph(s) (moved override point for worker thread work to around the thread safe update function call).
Improves property access integration:
- Property access now shows (and allows the user to override) the call site of accesses. This is to allow users to see when their property access calls will be made, hopefully making its use less confusing for power users.
- Tweaked UX for property access nodes and dropdowns.
- Anim node pins now have property access bindings in-line on the pin.
Also adds the abilility for the anim graph to opt-in (via a config flag) to more stringent thread safety checks. Disabled by default for now as this requires content fixup.
#jira UE-115745 - Anim Blueprint Encapsulation
#rb Jurre.deBaare
[CL 16434092 by Thomas Sarkanen in ue5-main branch]
#jira UE-115449 - Crash occurs when deleting, undoing, and recompiling a Blend Space Graph node
#rb Jurre.deBaare
[CL 16420036 by Thomas Sarkanen in ue5-main branch]
As the blendspace was duplicated from a previously duplicated node, it was marked as transient and hence was not saved along with the class. This is not a problem in the editor as the blend space is always regenerated on load, but in cooked games the blendspace was never saved in the cook and thus not present at runtime.
#jira FROST-2756
#rb Jurre.deBaare,Danny.Chapman
#ROBOMERGE-SOURCE: CL 16416162 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v811-16416015)
[CL 16416163 by thomas sarkanen in ue5-main branch]
Tweaks to the rendering of blendspaces, including separating the graph from the buttons
Context menu changes for the sample details
Changes to AnimationBlueprintLibrary and AnimPose from Jurre to help get the poses during analysis
#jira UE-114512
#rb thomas.sarkanen
[CL 16356830 by danny chapman in ue5-main branch]
If a child anim BP is made and is saved without saving its parent, then when the class is reloaded later it will not be able to find the parent's sparse class data in the linker (as it will have been generated again from scratch on load, which doesnt patch the linker until the asset is resaved). This leads to serialization size mismatches.
To address this (and because the sparse class data will always be regenerated as part of compile-on-load), we skip the portion of the CDO's archive that represents the serialized sparse class data if it is null after serialization. It can of course be legitimately null in a lot of cases (say a regular actor Blueprint), but this should have no ill effects and effectively be a seek to the current archive offset.
This CL also fixes a number of child anim BP-related issues. First of all it prevents a crash when accessing out-of-bounds AnimNodeData by ensuring it is correctly duplicated in all circumstances. It also correctly propogates values from root->child sparse class data (in the same manner that anim node data used to be propogated before). This deals with compile-on-load issues where the child classes sparse class data is regenerated without serializing the parent classes sparse class data (see crash fix above).
#jira UE-114674 - Creating a new child anim BP crashes
#rb Fred.Kimberley,Phillip.Kavan,Jurre.deBaare
[CL 16313070 by Thomas Sarkanen in ue5-main branch]
Switches generated structs to be subobjects of the generated class.
Key to this is supporting re-instancing via re-linking the mutable struct before the generated class is linked to allow the correct class layout to be used by serializers. This is because the property links are not preserved with StaticDuplicateObject.
#jira UE-114456 - Crash on loading Animation Blueprint asset that was renamed twice prior to that
#jira UE-114457 - A duplicate is created for an Animation Blueprint asset after its renaming
#rb Jurre.deBaare
#fyi Benn.Gallagher
[CL 16166745 by Thomas Sarkanen in ue5-main branch]