Commit Graph

65 Commits

Author SHA1 Message Date
brooke hubert
c6ca9ec6a7 [Backout] - CL33722326
[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]
2024-05-17 10:02:45 -04:00
brooke hubert
b7fc3f4986 [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 33722354 by brooke hubert in ue5-main branch]
2024-05-17 09:30:35 -04:00
patrick enfedaque
68f1172827 Level Instance: UX tweaks following feedback from Dan and Robb (validated by JS)
- 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]
2024-04-19 15:13:28 -04:00
patrick enfedaque
b3457d6a76 Level Instance: Scene Outliner Property Override Column
- 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]
2024-04-17 11:01:35 -04:00
patrick enfedaque
283348fcbd Level Instance: Sub Actor Selection support
- 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]
2024-04-11 13:47:04 -04:00
patrick enfedaque
1e3a99a42d Level Instance: Property Override Actor Coloration
#rb Richard.Malo
#rnx

[CL 32823050 by patrick enfedaque in ue5-main branch]
2024-04-09 08:42:54 -04:00
patrick enfedaque
3b328d750b LevelEditor/ActorDetails Panel support for multiple ISCSEditorUICustomization
- 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]
2024-04-08 07:37:24 -04:00
patrick enfedaque
061a496ee5 Fix conflicting localization
#jira UE-208128
#rb Richard.Malo
#rnx

[CL 31806878 by patrick enfedaque in ue5-main branch]
2024-02-26 12:00:45 -05:00
eric knapik
4fa56a2d21 #jira UE-191991
Don't call UpdateEditorMode while running a commandlet

[FYI] Patrick.Enfedaque, JeanFrancois.Dube

[CL 31742847 by eric knapik in ue5-main branch]
2024-02-22 18:51:06 -05:00
patrick enfedaque
6de46bc337 [Experimental] Level Instance Property Override
- 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]
2024-02-22 08:26:27 -05:00
ben hoffman
3364c962f6 Add an option to place actors under a subfolder instead of the root when breaking a Level Instance.
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]
2024-01-10 11:05:38 -05:00
patrick enfedaque
ab3bc69d6d LevelInstance
- 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]
2023-12-04 11:18:06 -05:00
jeanfrancois dube
9880e2bf15 Level Instance:
- 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]
2023-11-16 13:35:30 -05:00
patrick enfedaque
e2ce465deb Packed Level Actors:
- 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]
2023-06-22 11:32:48 -04:00
patrick enfedaque
774d15a6c9 Packed Level Actors: New Update Packed Blueprints CB action on World assets
- 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]
2023-06-14 06:25:37 -04:00
patrick enfedaque
36a35ce76a LevelInstance: Deprecate CanBeUsedByLevelInstance.
- 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]
2023-06-12 07:30:42 -04:00
patrick enfedaque
5dde75b396 LevelInstance: Edit now shows a transient filter that can be changed to allow editing of the source Level, this filter isn't modifying the current LevelInstance filter. Filter is restored when exiting edit.
#rb richard.malo
#rnx

[CL 25870631 by patrick enfedaque in ue5-main branch]
2023-06-08 10:14:43 -04:00
patrick enfedaque
6bff74bf1a Packed Level Actor: Filter support
#rb richard.malo, jeanfrancois.dube
#preflight 64676199434f5536a34daf5b
#rnx

[CL 25548187 by patrick enfedaque in ue5-main branch]
2023-05-19 13:51:16 -04:00
kirill zorin
de8db5ff76 Converting ARO-facing raw pointers to TObjectPtr ahead of raw pointer ARO API deprecation.
#rb zousar.shaker
#rb markus.breyer
#rb robert.manuszewski

#preflight 646391406b1406b54ab15460

[CL 25489627 by kirill zorin in ue5-main branch]
2023-05-16 10:52:49 -04:00
jamie dale
933348f856 Use the FMessageDialog overloads that pass the optional title by-value
#jira
#rb none
#rnx

[CL 25062589 by jamie dale in ue5-main branch]
2023-04-15 19:49:32 -04:00
patrick enfedaque
3b2527047f WorldPartition: UnloadReason now provided by FActorDescFilter
#rb jeanfrancois.dube, richard.malo
#preflight 640b26d90e1f02786bee254c
#rnx

[CL 24592065 by patrick enfedaque in ue5-main branch]
2023-03-10 11:01:34 -05:00
patrick enfedaque
c042995662 Level Instance: WorldPartitionActorFilter support (experimental)
- 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]
2023-03-08 12:02:09 -05:00
nick darnell
954d29b9f5 Editor - Beginning the process to no longer make loading all assets you right click in the content browser. The first step, is setting up the code to have a deprecation flag DEPRECATE_ASSET_TYPE_ACTIONS_NEEDING_LOADED_OBJECTS, this will make it illegal to implement GetActions on all AssetTypeAction implementations. Checked in disabled, enable it locally to begin trying to implement the recommended method detailed in the IAssetTypeActions header. WIP. One of the things this change does is outlaw (regardless of deprecation) the HasActions() function, this function is no longer used at all, and so we may as well remove its implementation, it also works well as a canary in finding other samples and things that need to be upgraded.
#jira UE-165574
[REVIEW] [at]Rex.Hill, [at]Lauren.Barnes
#preflight 63483c43ad0f7e2f20e44910

[CL 22534452 by nick darnell in ue5-main branch]
2022-10-14 16:59:41 -04:00
jeanfrancois dube
294f38b536 World Partition:
- 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]
2022-09-27 23:52:36 -04:00
patrick enfedaque
b2b009ca9f Remove BlueprintAsset property. (Can be inferred from ClassGeneratedBy)
#jira UE-148285
#rb sebastien.lussier
#preflight 632de59cd747fe52c8c48327

[CL 22165220 by patrick enfedaque in ue5-main branch]
2022-09-23 20:43:11 -04:00