- added definition data for the whole object
- added GetDefinitionData() & GetDefinitionDataPtr() for the SO definition and slot definition
- Renamed FSmartObjectSlotDefinitionDataProxy -> FSmartObjectDefinitionDataProxy (removed slot)
- Renamed FSmartObjectSlotDefinitionData -> FSmartObjectDefinitionData (removed slot)
[CL 30077219 by mikko mononen in ue5-main branch]
- Changed Smart Object definition slot data to contain GUI per data (allows to identify the data using ID)
- Added outliner to the editor, displays slots and definition data
- Made slots and definition data selectable in the details view
- Sync selection across details, outliner and 3D view for faster navigation
[CL 27440600 by mikko mononen in ue5-main branch]
- Added SmartObjectUserComponent which allows to define validation settings per user actor
- Added option to SO defintion to have preview validation settings or preview user actor (settings pulled from SO user component)
- Move parameters passed to SO annotation CollectDataForGameplayDebugger() into a struct
- Changed USmartObjectSlotValidationFilter to have 2 sets of validation parameters to allow exits to have looser validation
- Changed the API for setting params from Actor in FSmartObjectSlotEntranceLocationRequest (still meh)
#jira UE-174418
#preflight 642173f8a86ae7cbcc25ab0b
[CL 24801238 by mikko mononen in ue5-main branch]
- Changed entry annotation to navigation annotation
- Added option for nav annotations to project location on ground
- Added option and settings for nav annotations to check simple trajectory collisions towards slot location
- Added logic in entry location query to project on ground and check trajectory collisions
- Added physics settings struct that handles common query combinations
- Added USmartObjectSlotValidationFilter to define shareable settings for validation (kinda similar to nav query filter)
- Fixed double rendering of preview actor/mesh in SO editor
- added debug draw for the new features
#jira UE-174418
#preflight 641036e470639dfc943ed981
[CL 24632583 by mikko mononen in ue5-main branch]
* Ran IWYU on ~170 plugins to remove includes not needed. Public api still keep old includes inside #if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2
#preflight 63d09351574ab9cae4670216
#rb none
[CL 23844750 by henrik karlsson 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]
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]