* Switching the FRigVMTemplateArgumentType to be backed up by FName instead of FString for faster comparison
* Adding a "Types" storage under the RigVMRegistry of all of the known supported types
* Have the FRigVMTemplateArgument refer to type indices rather than full type structures
* Have the resolval comparison code rely on comparing type indices rather than type structures
* Store relationship between the bool and the TArray<bool> type as an array / element lookup within the registry - to avoid string operations when doing lookups from element to array to 2 dimensional array for a type.
* The preferred types list on the template node is now stored as pairs of argument name and type index <FName, int32> rather than FString.
* Also we no longer support all types for the untyped nodes (such as reroute, select, if etc) - but instead we support all user defined types (non-native structs and enums) as well as all types ever used as a template argument. The reasoning here is that supporting a type that's not used by any node is pointless. This reduced the type set from 9876 to 237.
#rb halfdan.ingvarsson
#jira na
#preflight https://horde.devtools.epicgames.com/job/62b9c666ba62f4498a345be2
[CL 20861728 by Helge Mathee in ue5-main branch]
improved RefreshAllModels
- from 431.621 ms to 318.637 ms when first opening CR_Mannequin_Body
- from 6.930 sec to 3.390 sec for next openings
#jira UE-155783
#rb helge.mathee
#preflight 62b45cd1755c7d63a787d42b
[CL 20793285 by benoit gadreau in ue5-main branch]
- Overall Loading time went from 21.439 seconds to 7.521 seconds
- Improved Postload from 6.643 seconds to 0.915 seconds
- Improved InitControlRigEditor from 13.422 seconds to 4.842 seconds
#jira UE-155783
#rb benoit.gadreau
#preflight https://horde.devtools.epicgames.com/job/62b2fe202c753858830d4b11
[CL 20773015 by Helge Mathee in ue5-main branch]
Changes include
* renamed setup event to construction event
* new nodes to spawn bones, nulls, controls etc
* class settings to limit how many elements can be created procedurally
* lookup from procedural element to spawner node (who created this?)
#preflight https://horde.devtools.epicgames.com/job/62b0d9c62405b4ac9e774bf4
#jira UE-153500
#rb audit
[CL 20754666 by Helge Mathee in ue5-main branch]
Here is a simple example we could encounter (using FRigUnit_AimItem_Target)
the struct default's value looked like this "(Weight=1.000000,Axis=(X=1.000000,Y=0.000000,Z=0.000000),Target=(X=1.000000,Y=0.000000,Z=0.000000),Kind=Location,Space="")"
setting the Space default value to "" whereas the Space default value is an empty string.
Using "" as a default value would fail later in URigVMController::SetPinDefaultValue
#jira UE-152486
#rb helge.mathee
#preflight 6298b0051941378d7c6809b5
[CL 20468367 by benoit gadreau in ue5-main branch]