Commit Graph

71 Commits

Author SHA1 Message Date
a bialokozowicz
815464e82a Avoid interacting with EditorModeManager singleton during editor shutdown, as it's destroyed in AppPreExit, which is before ShutdownModule is called during editor shutdown (AppExit)
#jira UE-226325
#rb JeanFrancois.Dube

[CL 36946180 by a bialokozowicz in 5.5 branch]
2024-10-08 16:30:32 -04:00
patrick enfedaque
8d99e4697b [Level Instance] Fix DefaultBehaviorSource leak caused by OnLevelEditorCreated() being called when changing the editor layout
#rb brooke.hubert, lonnie.li, Richard.Malo
#rnx

[CL 35144490 by patrick enfedaque in ue5-main branch]
2024-07-29 13:02:23 -04:00
jeanfrancois dube
1fc81d03cc [Backout] - CL34509553
#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]
2024-07-24 16:52:06 -04:00
steve robb
ed42f35580 Fixed type incorrectness constructing when constructing TSoftObjectPtr<UBlueprint> with a UObject*.
[CL 35016160 by steve robb in ue5-main branch]
2024-07-23 08:23:02 -04:00
sebastien lussier
9b13fbe3e9 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 JeanFrancois.Dube

[CL 34509499 by sebastien lussier in ue5-main branch]
2024-06-19 15:10:16 -04:00
brooke hubert
1cab67f804 [Backout] - CL33723201
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]
2024-05-17 16:28:49 -04:00
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