- Optimized FFolder resolving to UActorFolder : now uses and maintains an acceleration table
- Favor creation of FFolder using ActorFolderGuid when available
- FFolder creation now always passes a Root Object to facilitate Root Object ptr resolving (even when it's the main world)
- Fixed Duplicate Hierarchy when using Actor Folders and target level is different
- Fixed copy/paste actor from Persistent to LevelInstance not loosing actor folder
- Fixed mark for delete of an Actor Folder that could generate duplicates
- Modified fix of duplicate Actor Folders in a level : instead of renaming duplicates, mark for delete all duplicates except one and redirect children to the one we keep
#jira UE-150566
#rb patrick.enfedaque, jeanfrancois.dube
#preflight 6284101f486700b561a555ff
[CL 20346124 by Richard Malo in ue5-main branch]
Port ActorBrowsingMode over to the new Editor Config system to have separate settings for each outliner
Enable Stacked Hierarchy Headers by default
Add the ability to disable framing selection
Add the ability to get the most recently used outliner from the level editor
Fix a bug where renaming an item on one outliner would sometimes execute the rename on a different outliner
#rb richard.malo
#jira UETOOL-5014
#preflight 627aa9811e74993343331221
[CL 20126651 by aditya ravichandran in ue5-main branch]
Previously, I had assumed that FProperty::InitializeValue() would initialize a simple member (eg. a float) to the correct value, but this appears not to be the case, rather values are zero-initialized and the CDO stores the correct default values. In the case of structs, InitializeStruct() does in fact initialize correctly.
However, this means that we can't use GetMutableDefault() to get an instance of the UObject, since then we're changing what we're diffing against and serialize no values. Changed the usages of this pattern to use singletons instead.
#jira UE-141150
#review-19900014 @lauren.barnes, @aditya.ravichandran
#preflight 6267fa44a021c91a50f26a65
[CL 19919719 by sebastian nordgren in ue5-main branch]
[FYI] aditya.ravichandran
Original CL Desc
-----------------------------------------------------------------
Outliner: Fix a crash caused by duplication of items in the outliner when you performed multiple operations on an item too quickly
#jira UE-141695
[FYI] Max.Chen
#rb Lauren.Barnes
#ROBOMERGE-AUTHOR: aditya.ravichandran
#ROBOMERGE-SOURCE: CL 19116144 via CL 19116247 via CL 19116252 via CL 19116260 via CL 19117369
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19153367 by aditya ravichandran in ue5-main branch]
* This is perform on Left Alt down.
* Mouse cursor is changed during the operation.
* SceneOutliner CreateDragDropOperation has now info on FPointerEvent.
#rb richard.malo
#preflight 620d2bb501253d2e19175c1c
[CL 19016197 by vincent beauchemin in ue5-main branch]
Enable said functionality for the Outliner
#jira UE-132613
#rb Lauren.Barnes
#preflight 620bcd22483ff0ae5ebd2f86
[CL 18996953 by aditya ravichandran in ue5-main branch]
#rb patrick.enfedaque
#preflight 620588a8057375a80298a2e8
#ROBOMERGE-AUTHOR: richard.malo
#ROBOMERGE-SOURCE: CL 18951521 via CL 18952157 via CL 18953008 via CL 18953265 via CL 18954870 via CL 18955375
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)
[CL 18958277 by richard malo in ue5-main branch]
The child pointer would eventually lose refcounts and lead to a stale entry in the children set and cause a validity check to fail.
Additionally, move and remove will now access the existing item in the tree rather than directly using the passed tree item reference since these are sometimes temporary objects.
#rb patrick.enfedaque
#preflight 61f84ffd41414fb013da90ca
[CL 18797466 by roey borsteinas in ue5-main branch]
- When enabled, folders are actual objects : modifying a folder won't affect actors (more compliant with OFPA).
- Enabled by default for World Partition and Level Instances.
- Can be enabled on regular levels (experimental feature 'Use Actor Folder Objects').
- If Level uses OFPA, ActorFolders will also be saved in their own package (but will use __ExternalObjects__ root folder).
- In a future refactoring, external actors will also be moved in the same root folder.
- Generalized saving object in an external package (different from its outer package)
- World outliner supports old folders and new actor folder objects : Levels using the actor folder objects will show a root Level node (like Level Instances).
#rb patrick.enfedaque, jeanfrancois.dube
#preflight 61d84b356511bc498e5cb858
#ROBOMERGE-AUTHOR: richard.malo
#ROBOMERGE-SOURCE: CL 18543443 in //UE5/Release-5.0/... via CL 18543482
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)
[CL 18543525 by richard malo in ue5-release-engine-test branch]
#jira UE-135851
#rb patrick.enfedaque
#preflight 61a023f3801b361978ecd850
#ROBOMERGE-AUTHOR: richard.malo
#ROBOMERGE-SOURCE: CL 18299248 in //UE5/Release-5.0/... via CL 18299254
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18299275 by richard malo in ue5-release-engine-test branch]
#jira UE-134605
#rb patrick.enfedaque
#preflight 619d3a42cb49ea94934aa11d
#ROBOMERGE-AUTHOR: richard.malo
#ROBOMERGE-SOURCE: CL 18273663 in //UE5/Release-5.0/... via CL 18273683
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18273700 by richard malo in ue5-release-engine-test branch]
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971
[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]