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]
- Experimental Flag hides Filter UI
- DataLayerAsset can enable filtering (will show up in Filter Outliner)
- DataLayerInstance can provide default filter value (default value when actor doesn't override)
- Level Instance Actor can have its own recursive filter
- Filtering Editor/Cook/PIE works
- Undo/Redo/Copy/Paste/ResetToDefault
- PackedLevelActors not yet supported
#rb jeanfrancois.dube, richard.malo
#preflight 64087dc36c1b9295b99222e8
#rnx
[CL 24561727 by patrick enfedaque in ue5-main branch]
- Added option to always load actors in the editor even if streaming is enabled.
- Disabled world partition editor commands that act on loading regions when loading in the editor is disabled.
- Added option to not set the "can be used by level instance" flag when converting worlds with streaming disabled.
#rb richard.malo
[FYI] jeansebastien.guay
#preflight 6332ed04665f6b8f7f326332
#rnx
[CL 22217635 by jeanfrancois dube in ue5-main branch]