The fix involved an extensive rework of how the testing environment is being set up, to limit loaded UWorld's influence on the results, and in turn limit how tests affect SmartObjectSubsystem instantiated for the current world.
#preflight 6368c59e63037c1026540f38
[CL 23010255 by mieszko zielinski in ue5-main branch]
- added task to enable and disabled slots
- visualize disabled slots in Smart Object editor
#rb Luciano.Ferraro
#preflight 6364e3364b0e01486a464fa5
[CL 22985540 by mikko mononen in ue5-main branch]
There was a loophole that would partly register smart objects that did have a SmartObjectDefinition asset set, but the asset was not valid itself, and it resulted in failing an ensure while cleaning up the whole system on world end.
#preflight 63640e3fdc30a4ce961be2d1
[CL 22982893 by mieszko zielinski in ue5-main branch]
- Fixed hashing when adding shared fragment for smart object slot definition
- Added per slot Runtime Tags
- Added common event handling for Smart Object and Slot changes and events
- Added annotations, which are slot definition data that has visualization
- Added linked slot annotation which allows behavior reuse on slots
- Added editor only ID for each slot so that they can be identified during edits
- Added SmartObject slot reference type that can be used to reference other slots in the Smart Object
- Changed Smart Object bDisable to bEnabled
- Added separate enabled state for slots
- Changed Smart Object disable to send an event, not forcefully unclaim
- Added more visualization support for Smart Object editor (canvas, visualize annotations)
- Changed Smart Object editor to use the commonly transform for slots
- Remove Smart Object Component instance from the asset editor as it was not needed
#rb Stephen.Holmes
#preflight 6360f0cf63608aee36e01ba5
[CL 22888712 by mikko mononen in ue5-main branch]
Also changed collection building to only include SOComponents in the persistent or the "always loaded" levels
#preflight 6343da651d5e6dbf75839ead
[CL 22431195 by mieszko zielinski in ue5-main branch]
Before:
3548 unity files
Total CPU Time: 47343.578125 s
Total time in Parallel executor: 494.60 seconds
After:
3445 unity files
Total CPU Time: 46044.671875 s
Total time in Parallel executor: 468.51 seconds
#jira
#preflight 63336159b20e73a098b7f24f
[CL 22218213 by bryan sefcik in ue5-main branch]
Also added a handy "CanBeClaimed" function for testing individual slots.
#review-21737223
#preflight 6310808ae54ec9d581d0fade
#preflight 6310a9eae1124837759bf70f
[CL 21738872 by Mieszko Zielinski in ue5-main branch]
Updated most callsites to use the new version. Only two traffic use cases left untouched due to non-trivial hash calculation.
#review-21485588
#preflight 630614210061f895d03e3f4e
[CL 21538494 by Mieszko Zielinski in ue5-main branch]
Updated header inclusion after moving MassEntityManager into a separate file
#rb none
#preflight 62f662301e61d1ba0e8580ad
[CL 21355128 by Mieszko Zielinski in ue5-main branch]
- Deprecate UWorldPartition::GetWorldBounds and add GetRuntimeWorldBounds along with GetEditorWorldBounds, maintained by the editor hash.
- World Partition editor now shows the runtime world size instead of the editor world size, which makes more sense to the user.
#rb sebastien.lussier
#preflight 62a74476e83d4c62de7f2b62
#rnx
[CL 20627192 by JeanFrancois Dube in ue5-main branch]