[REVIEW] Thomas.Sarkanen
#tests BP Compiler + various linked anim layers cases
#ROBOMERGE-AUTHOR: frederick.lupien
#ROBOMERGE-SOURCE: CL 19173813 via CL 19173848 via CL 19173864 via CL 19174435
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19174691 by frederick lupien in ue5-main branch]
#rb Jurre.deBaare
#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18918369 via CL 18918381 via CL 18918386 via CL 18922642 via CL 18923567
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v916-18915374)
[CL 18923672 by thomas sarkanen in ue5-main branch]
- Removed cached USkeletalMeshComponent* from AnimGraphNode as we can now get it from AnimGraphNode_Base
- Add a templatized version of AnimGraphNode_Base::GetDebuggedAnimNode() that allows retrival of derived node types
- Can now calculate chain bones without waiting for the node to be compiled - removed associated warning from UI
- Prevent Copy+Paste of bone names in chain bone array, improving workflow
- Ensure that changing bound bone name does not reset physics body parameters, improving workflow
- Improve chain body UI
[REVIEW] [at]Thomas.Sarkanen
[FYI] [at]Charles.Anderson
#ROBOMERGE-OWNER: nick.brett
#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 18903371 via CL 18903392 via CL 18903410 via CL 18915322 via CL 18915359
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v915-18905420)
[CL 18915362 by nick brett in ue5-main branch]
The original ENABLE_BLUEPRINT_REAL_NUMBERS macro was strictly meant for AB testing in the Dev-LWC. Currently, disabling it won't work, and would likely lead to broken behavior. Its presence might incorrectly indicate to licensees that this is an option that can be toggled safely.
#rb marc.audy
#jira UE-140327
#preflight 61fc6449dc0b3ecbecb6f381
#lockdown julien.marchand
#ROBOMERGE-AUTHOR: dave.jones2
#ROBOMERGE-SOURCE: CL 18864654 in //UE5/Release-5.0/... via CL 18864683 via CL 18864993
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)
[CL 18865002 by dave jones2 in ue5-main branch]
This partially ports a fix from CL 18740288, but improves on when and how sparse class data gets fixed up.
This allows this fix to cover more parent->child load/compile orderings (the previous fix only worked if they were all compiled in the same batch, which isnt always guaranteed.
Original CL desc:
Ensures that cleaned-up sparse class data structs are moved out of the package they are in, thus not requiring a GC step to ensure that batch compilation works correctly.
Without this, it is possible for the NewObject call in FAnimBlueprintCompilerContext::RecreateSparseClassData to attempt to re-use (as it has a fixed name) the currently-existing (but not referenced) object rather than creating a new one.
This also reverts some other changes that were made to try to address related issues.
#jira FORT-444463
#jira UE-140565
#jira UE-140530
#lockdown laurent.delayen
#rb jurre.debaare
#preflight 61fbddc53b22793ca35ebfc0
#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18843087 in //UE5/Release-5.0/... via CL 18843109 via CL 18843285
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)
[CL 18843294 by thomas sarkanen in ue5-main branch]
- Ensure that any folded AnimNode property gets remapped correctly for pin-to-property map in FBlueprintDebugData
- Ensure pin value watching for folded properties retrieves the correct value
- Const-ifying some code paths around blueprint pin watching
#jira UE-139995
#preflight 61fa624ddb42673a60239ce1
#rb Thomas.Sarkanen
#lockdown Cristina.Riveron
#ROBOMERGE-AUTHOR: jurre.debaare
#ROBOMERGE-SOURCE: CL 18824229 in //UE5/Release-5.0/... via CL 18825883 via CL 18826298
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)
[CL 18826349 by jurre debaare in ue5-main branch]
Blueprint real number support.
This change deprecates the use the of "float" and "double" types in Blueprints in favor of a new "real". By default, "real" is back by a double precision floating point number. However, it can be single precision if the number is a native float property or function parameter. This distinction won't be visible to the Blueprint user: in both instances, they'll be represented by "real" pin types. During deserialization, we'll automatically convert Blueprint pin types to use real/doubles, unless they're used to represent native code (including delegate signatures).
One consequence of this change is that we need to perform implicit casts between single and double precision real numbers. During Blueprint compilation, the compiler will detect points in the graph for when either a widening or narrowing conversion needs to occur. Subsequently, the script bytecode will contain a new cast instruction that performs the conversion. This also works on container types, but each entry in the container will have to be converted. This can introduce unwanted overhead for large containers that are frequently passed between Blueprint and native code.
The scope of this change affects Blueprints used by Gameplay, Animation, Control Rig, and UMG.
#rb marc.audy (serialization changes)
#jira UE-116484
#preflight 61f8bdd5a2514ba12ff7bdfc
#ROBOMERGE-AUTHOR: dave.jones2
#ROBOMERGE-SOURCE: CL 18809077 in //UE5/Release-5.0/... via CL 18809455 via CL 18822548
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)
[CL 18823569 by dave jones2 in ue5-main branch]
[FYI] Thomas.Sarkanen
Original CL Desc
-----------------------------------------------------------------
Fix asserts/warnings around child anim BPs
Ensures that cleaned-up sparse class data structs are moved out of the package they are in, thus not requiring a GC step to ensure that batch compilation works correctly.
Without this, it is possible for the NewObject call in FAnimBlueprintCompilerContext::RecreateSparseClassData to attempt to re-use (as it has a fixed name) the currently-existing (but not referenced) object rather than creating a new one.
This also reverts some other changes that were made to try to address related issues.
#jira FORT-444463
#rb Phillip.Kavan
#preflight 61f18be3f8088a3d298e6419
#p4v-cherrypick 18740288
#ROBOMERGE-AUTHOR: jose.villarroel
#ROBOMERGE-SOURCE: CL 18773105 in //UE5/Release-5.0/... via CL 18773189 via CL 18773693
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18773704 by jose villarroel in ue5-main branch]
Ensures that cleaned-up sparse class data structs are moved out of the package they are in, thus not requiring a GC step to ensure that batch compilation works correctly.
Without this, it is possible for the NewObject call in FAnimBlueprintCompilerContext::RecreateSparseClassData to attempt to re-use (as it has a fixed name) the currently-existing (but not referenced) object rather than creating a new one.
This also reverts some other changes that were made to try to address related issues.
#rb Phillip.Kavan
#preflight 61f18be3f8088a3d298e6419
#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18740288 via CL 18740350 via CL 18740373 via CL 18742029 via CL 18742887
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18743237 by thomas sarkanen in ue5-main branch]
#rmx
#ROBOMERGE-AUTHOR: nick.brett
#ROBOMERGE-SOURCE: CL 18721437 via CL 18721476 via CL 18721480 via CL 18724677 via CL 18725105
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18725125 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]
#ROBOMERGE-AUTHOR: bob.tellez
#ROBOMERGE-SOURCE: CL 18720630 via CL 18720632 via CL 18720638 via CL 18720809 via CL 18720870
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18720871 by bob tellez in ue5-main branch]
#preflight 61eefc77ba69a4fdb220bf23
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 18712765 in //UE5/Release-5.0/... via CL 18712784 via CL 18713147
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18713191 by marc audy in ue5-main branch]
Nested property validity filter (checking to see if an entry in the menu has compatible sub-menus) is now performed for functions.
Prevented UObject types from being bound to unrelated types via the menu (now does a IsChildOf check - previously you could attempt to bind a UAnimSequence to an AActor!)
Display 'display name' for script properties/functions (also use ScriptName for native ones if available).
#jira UE-126829 - Property Access with UStructs has different "compatibility" visibility than other types
#jira UE-125003 - Unable to Access Transform on Character Member via Property Access
#jira UE-132802 - Property Access shows mangled names for Blueprint-defined struct members
#rb Jurre.deBaare
#preflight 61ea79adf1438e8a4b1c71d2
#ROBOMERGE-AUTHOR: thomas.sarkanen
#ROBOMERGE-SOURCE: CL 18687397 in //UE5/Release-5.0/... via CL 18687402 via CL 18687407
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v902-18672795)
[CL 18687412 by thomas sarkanen in ue5-main branch]