#jira UE-219997
[FYI] sebastien.lussier
Original CL Desc
-----------------------------------------------------------------
Ensure the default HLOD Layer setup is duplicated in all code paths on VK projects creation
* Code Path used during VK tests was leaving maps with the default HLOD Layer asset assigned, leading to validation issue
* Also fixed an issue where the default HLOD Layer was improperly outered when converting an existing map to World Partition
#rb Sebastien.Lussier
[CL 35066310 by jeanfrancois dube in ue5-main branch]
* Code Path used during VK tests was leaving maps with the default HLOD Layer asset assigned, leading to validation issue
* Also fixed an issue where the default HLOD Layer was improperly outered when converting an existing map to World Partition
#rb JeanFrancois.Dube
[CL 34509499 by sebastien lussier in ue5-main branch]
Original CL Desc
-----------------------------------------------------------------
[Mode Manager] Fix some singleton startup pattern that was allocating at incorrect timings to speculatively fix some allocate on shutdown crash(es)
Also move some of the global access to the level editor mode manager to pipe through the level editor where there were some early accessors on startup.
#jira UE-213541
#rb patrick.enfedaque ross.smith2
#p4v-cherrypick 33703049
[CL 33736118 by brooke hubert in ue5-main branch]
[FYI] brooke.hubert
Original CL Desc
-----------------------------------------------------------------
[Mode Manager] Fix some singleton startup pattern that was allocating at incorrect timings to speculatively fix some allocate on shutdown crash(es)
Also move some of the global access to the level editor mode manager to pipe through the level editor where there were some early accessors on startup.
#jira UE-213541
#rb patrick.enfedaque ross.smith2
#p4v-cherrypick 33703049
[CL 33723211 by brooke hubert in ue5-main branch]
Also move some of the global access to the level editor mode manager to pipe through the level editor where there were some early accessors on startup.
#jira UE-213541
#rb patrick.enfedaque ross.smith2
#p4v-cherrypick 33703049
[CL 33722354 by brooke hubert in ue5-main branch]
- Wording: Commit/Discard -> Save/Cancel
- Details panel buttons cleanup
- Viewport overlay updated now with Save/Cancel instead of Exit only
- Menus updated to reflect new wording
- Remove: Move Selection To and Set As Current menus as those actions can be achieved through the Actors menu and Actor Context viewport overlay
#rb Richard.Malo
[FYI] dan.pressman, Robb.Surridge, JeanSebastien.Guay,
#rnx
[CL 33112350 by patrick enfedaque in ue5-main branch]
- Make use of HasEditableLevelInstancePropertyOverrides/HasLevelInstancePropertyOverrides in a new column to give user visual feedback on what is overriden
- Fix small Reset Property Override menu bug (not allowing resetting actor overrides on a level instance)
#rb richard.malo
#rnx
[CL 33036941 by patrick enfedaque in ue5-main branch]
- SceneOutliner: allow to select Level Instance sub actors in the outliner in a read only way (allows copy/pasting of actors and properties)
- Viewport: allow sub selection through "Shift+ Scroll Up/Down"
- Gated by new settings in ULevelInstanceEditorPerProjectUserSettings
#rb Richard.Malo
#rnx
[CL 32897459 by patrick enfedaque in ue5-main branch]
- Implement a private one in LevelInstanceEditorModule which acts as an array of ISCSEditorUICustomization
- First ISCSEditorUICustomization to return non default values is used for GetChildActorVisualizationMode() / GetComponentTypeFilter() (Sorted registration could be added later to prioritize a customization over others)
- Hide methods will return true if any of the Customizations returns true
- Convert existing code to new API
- Deprecate Hide methods for a new version taking a UObject arrayview context
- Deprecate Setter
- Remove Selection listening code in existing Customizations and use the context (fixes Locked details panel bugs)
#rb logan.buchy
#rnx
[CL 32789706 by patrick enfedaque in ue5-main branch]
- World Partition support only
- Property Overrides are saved as a sub-object (ULevelInstancePropertyOverrideAsset) of the LevelInstance Actor (same package)
- Support for Overrides to be stored at any level of the LevelInstance hierarchy (based on root edit context)
- Support for Override ActorDescs, overriden actors have override actor descs through ULevelInstanceContainerInstance/ULevelInstancePropertyOverrideContainer meaning overriden ActorDescs which will be taken into account for streaming generation
- Override ActorDescs are saved as part of a FLevelInstancePropertyOverrideDesc
- Add support for ActorDescs to be serialized with a base actor desc instead of a class desc
- Add Level Instance Property Override Experimental setting
- Remove Level Instance / Packed Level Actor Experimental setting (no longer experimental)
#jira UE-191991
#rb Richard.Malo, JeanFrancois.Dube
#rnx
[CL 31718242 by patrick enfedaque in ue5-main branch]
If this option is enabled, the actors will be placed inside the folder the LI is inside of, under a subfolder with the name of the Level Instance, and also keeping their original folder structure.
So if i.e. the Level Instance Actor is called "Desert/LI_House2", and an actor inside is named "Lights/Light_Sun", the actor will be moved to "Desert/LI_House2/Lights/Light_Sun" in the outer level.
#rb aditya.ravichandran, Patrick.Enfedaque
#jira none
#ushell-cherrypick of 30293091 by kristof.morva1
[CL 30537512 by ben hoffman in ue5-main branch]
- Remove ShouldExport restriction (was added recently while enabling sub-selection but it doesn't cause issues) which was causing regression in Break Level Instance
- Prevent some operations (Break, Move, Create) when some Level Instances are selected that have selection parents (non-root selections)
#jira UE-201650
#rb Richard.Malo
#rnx
[CL 30083698 by patrick enfedaque in ue5-main branch]
- Exposed the runtime behavior so we can now place level instances referencing partitioned worlds that will be streamed at runtime instead of embedded in the container world.
- Don't allow edit in place for partitioned level instance worlds that have streaming disabled, as we load the entire level when doing so and could result in out of memory situations.
- Added a message box when trying to edit a level instance that can't be edited in place with the reason.
- Can be reenabled by setting LevelInstanceEditorSettings.bEnableEditInPlaceStreamingEnabled to true.
#rb Patrick.Enfedaque, Richard.Malo
[CL 29784110 by jeanfrancois dube in ue5-main branch]
- Fix PackedLevelActors not being properly unloaded when deleted
- Fix Packing failing when packing while packing world already loaded (use FPreviewScene to isolate packing into its own world)
#rb richard.malo
#rnx
[CL 26183923 by patrick enfedaque in ue5-main branch]
- Move all static Packing related methods to new Utils class
- Remove dependency on ALevelInstance (use ILevelInstanceInterface)
#rb richard.malo
#rnx
[CL 25974150 by patrick enfedaque in ue5-main branch]
- Runtime: Level Instances that are WP will still get embedded in their parent world grid (independent of the value of bEnableStreaming)
- Editor: Level Instances with bEnableStreaming=true will now act as regular World Partitions when loaded on their own. Allowing for big Level Instances to be partially loaded outside of their owning world.
- Add Project Setting for default value to assign to new Level Instances
#rb jeanfrancois.dube, richard.malo
[CL 25926203 by patrick enfedaque in ue5-main branch]