Commit Graph

378 Commits

Author SHA1 Message Date
JeanFrancois Dube
ebba4df748 Scene Outliner: refactored actor pin API to be batched, so we can pin actors all at once instead of doing the operation one by one.
#rb patrick.enfedaque, richard.malo
#preflight 628faefee17a02240dd5dfe3
#rnx

[CL 20391677 by JeanFrancois Dube in ue5-main branch]
2022-05-27 07:18:07 -04:00
JeanFrancois Dube
5d51d7969f World Partition: greatly optimized pinning multiple actors by batching loading + tweaked slow task dialogs when loading actors in the editor.
#rb richard.malo
#preflight none
#rnx

[CL 20362868 by JeanFrancois Dube in ue5-main branch]
2022-05-25 08:26:08 -04:00
JeanFrancois Dube
23d5a67324 World Partition: made all slow task dialogs delayed and added a top scope when pinning an actor selection.
#rb richard.malo
#preflight none
#rnx

[CL 20362457 by JeanFrancois Dube in ue5-main branch]
2022-05-25 07:27:16 -04:00
Richard Malo
223c790fef ActorFolder Improvements :
- 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]
2022-05-24 06:58:06 -04:00
aditya ravichandran
79f15627c4 ActorBrowsingModeSettings: Change bHideTemporaryActors to be false by default
#rb lauren.barnes
#preflight 6287db109b764703c3184f9e

[CL 20300248 by aditya ravichandran in ue5-main branch]
2022-05-20 14:50:22 -04:00
JeanFrancois Dube
e35f6515b9 World Partition: fix unpinning an unloaded actor+ display better unloaded message when pinned actor is unloaded.
#rb patrick.enfedaque
#preflight 62878854132db639f5d2a540
#rnx

[CL 20293964 by JeanFrancois Dube in ue5-main branch]
2022-05-20 10:13:02 -04:00
JeanFrancois Dube
fee13f6b09 World Partition: don't allow pin actors for game worlds.
#rb patrick.enfedaque
#preflight 62864e10756fa8c9c85a5283
#rnx

[CL 20280602 by JeanFrancois Dube in ue5-main branch]
2022-05-19 10:51:44 -04:00
Richard Malo
bbfa7b024e Fixed static analysis
#jira UE-151771
#rb patrick.enfedaque
#preflight 627e48205d0fe3ffef3c57ac
#rnx

[CL 20180106 by Richard Malo in ue5-main branch]
2022-05-13 08:40:05 -04:00
aditya ravichandran
632ef3784e Outliner:
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]
2022-05-10 14:20:42 -04:00
richard malo
879c5c42c6 Added support of Data Layers inside Level Instances.
#rb jeanfrancois.dube, patrick.enfedaque, philippe.deseve
#jira UE-151266
#preflight 62796854a35fb5cb3f55e9e6

#ROBOMERGE-OWNER: richard.malo
#ROBOMERGE-AUTHOR: richard.malo
#ROBOMERGE-SOURCE: CL 20121141 via CL 20121608 via CL 20121618
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20122781 by richard malo in ue5-main branch]
2022-05-10 10:22:54 -04:00
lauren barnes
5f7006fb53 Fixing EditorStyle->AppStyle merge errors
#rb trivial

#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20073150 via CL 20073151
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20105751 by lauren barnes in ue5-main branch]
2022-05-09 13:31:58 -04:00
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00
philippe deseve
ed0f48629d DataLayer API to go through DataLayerSubsystem instead of AWorlDataLayers
Move DataLayers' EditorWorldSetting logic from DataLayerEditorSubsystem & WorldDataLayers to DataLayerSubsystem
Use DataLayerInstance::GetOuterWorldDataLayers instead of retrieving the WorldDataLayers from UWorld::GetWorldDataLayers instead
Rename UDataLayerSubsystem::GetDataLayerFromAsset to GetDataLayerInstanceFromAsset to be inline with the rest of the API
Preparation for multiple AWorldDataLayers existing in the same world

#rb richard.malo
#test PIE, SIE, -game, Editing flow, cooked game, Hlods generation
#preflight 627402a0ca0ad32a968422af

#ROBOMERGE-AUTHOR: philippe.deseve
#ROBOMERGE-SOURCE: CL 20060072 via CL 20060595 via CL 20060607
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20062765 by philippe deseve in ue5-main branch]
2022-05-05 15:15:33 -04:00
jeanfrancois dube
b27de8149e World Partition Actor Descriptors
- Now includes full path to the base class to support BP classes (none if from a native class).
- FWorldPartitionHelpers actor descriptors iterator functions now supports BP classes.
- UWorldPartitionResaveActorsBuilder now supports filtering actors by BP classes.
- Scene Ouliner now shows the correct base class for unloaded actors instead of the first native class.

#rb patrick.enfedaque, richard.malo
#preflight 6273b366e95a8b960e43e5d4
#rnx

#ROBOMERGE-AUTHOR: jeanfrancois.dube
#ROBOMERGE-SOURCE: CL 20057885 via CL 20058202 via CL 20058209
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20061192 by jeanfrancois dube in ue5-main branch]
2022-05-05 14:10:10 -04:00
Richard Malo
dffb5b9557 Second pass on Editor Context
#jira UE-150705
#rb patrick.enfedaque
#preflight 626fe655645c64f3a2426e06

[CL 20008791 by Richard Malo in ue5-main branch]
2022-05-02 11:00:12 -04:00
sebastian nordgren
8eafe4f70e Editor configs now correctly diff against the CDO when serializing.
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]
2022-04-26 10:20:56 -04:00
aditya ravichandran
fd0962d8a4 SceneOutliner: Add the Socket column back to the outliner
#jira UE-149189
#rb Lauren.Barnes
#preflight 6259a2d83e21f4cb9cfb4159

[CL 19772996 by aditya ravichandran in ue5-main branch]
2022-04-15 13:00:06 -04:00
philippe deseve
d05121f9b1 Undo 19721428
Access to WorldSubsystems at cook time are causing crashes

#rb richard.malo
#jira UE-148953 UE-148946
#preflight 62572be3d606fd159e9e67e0

#ROBOMERGE-OWNER: zousar.shaker
#ROBOMERGE-AUTHOR: philippe.deseve
#ROBOMERGE-COMMAND: _robomerge[bot4] UE5-MAIN
#ROBOMERGE-SOURCE: CL 19745482 via CL 19747379 via CL 19747391
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19751374 by philippe deseve in ue5-main branch]
2022-04-14 00:26:55 -04:00
philippe deseve
83be8e37a1 DataLayer API to go through DataLayerSubsystem instead of AWorlDataLayers
Move DataLayers' EditorWorldSetting logic from DataLayerEditorSubsystem & WorldDataLayers to DataLayerSubsystem
Use DataLayerInstance::GetOuterWorldDataLayers instead of retrieving the WorldDataLayers from UWorld::GetWorldDataLayers instead
Rename UDataLayerSubsystem::GetDataLayerFromAsset to GetDataLayerInstanceFromAsset to be inline with the rest of the API
Preparation for multiple AWorldDataLayers existing in the same world

#rb richard.malo
#preflight 6255924fcd5ed4dd0916d8e5

#ROBOMERGE-AUTHOR: philippe.deseve
#ROBOMERGE-SOURCE: CL 19721428 via CL 19721841 via CL 19722491
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19725557 by philippe deseve in ue5-main branch]
2022-04-12 14:08:25 -04:00
Patrick Enfedaque
73f3cb29a4 LevelInstance: Extract ILevelInstanceInterface, FLevelInstanceActorImpl from ALevelInstance to allow LevelInstance implementation in existing AActor class hierarchies
#rb richard.malo, jeanfrancois.dube
#preflight 62420c81dc6183e3f5d47b90
#rnx

[CL 19541016 by Patrick Enfedaque in ue5-main branch]
2022-03-29 09:19:22 -04:00
aditya ravichandran
86faf11210 SceneOutliner: Fix a bug causing changes in PIE to apply to the actual level instead of replicating in the PIE session
#jira UE-146138
#fyi brooke.hubert
#rb Lauren.Barnes
#preflight 62321275736af8e08228e98f

[CL 19407552 by aditya ravichandran in ue5-main branch]
2022-03-16 12:52:34 -04:00
philippe deseve
8218e80ef1 UDataLayer deprecated in favor of UDataLayerInstance & UDataLayerAsset
UDeprecatedDataLayerInstance allows to boot level using deprecated UDataLayers
Worlds using DataLayer can run the DataLayerToAssetCommandlet to transition their existing DataLayers
FActorDataLayer interface is deprecated.
DataLayers Blueprint referencers should now use DataLayerAsset to retrieve DataLayerInstances.
DataLayer Code referencers should now use DataLayerAssets or DataLayerInstance FName to retrieve DataLayerInstances.
DataLayerLabels now only used for display/UI purpose
Relabeling DataLayers is not permitted anymore on new DataLayerInstances (allowed on UDeprecatedDataLayerInstance)
Added Changelist Validation for DataLayers
Added a column to the datalayer outliner showing any data layer errors.

#rb richard.mal jeanfrancois.dube
#preflight 623098c2050dc69468b6a297 (errors only related to lyra, which do not exist in this stream)

#ROBOMERGE-OWNER: philippe.deseve
#ROBOMERGE-AUTHOR: philippe.deseve
#ROBOMERGE-SOURCE: CL 19385808 via CL 19387392
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19389077 by philippe deseve in ue5-main branch]
2022-03-15 13:52:28 -04:00
Richard Malo
add5d1cfe6 Fixed double-click not expanding/collapsing Folder in the World Outliner.
#rb patrick.enfedaque
#preflight 6228abcb695c94f981ce9909
#jira none

[CL 19321864 by Richard Malo in ue5-main branch]
2022-03-09 12:06:15 -05:00
Richard Malo
296dd8a20c - Actor Editor Context : System can register themselves to the ActorEditorContextSubsystem and provide the necessary to apply their context value to newly created actors and optionally show a widget in the viewport.
- Refactored viewport's current level combobox and added "current data layers" in data layer outliner and "current folder" in world outliner to use this system.
- Can optionally be hidden from viewport using advanced flag in ULevelEditorViewportSettings.
#robomerge FNNC
#rb patrick.enfedaque
#preflight 6227604a7077eb04cf696c33

[CL 19302351 by Richard Malo in ue5-main branch]
2022-03-08 09:40:27 -05:00
leon huang
0193ffe8d3 Fix for CIS warnings for localization duplicate keys. Fixes simply involve changing one of the colliding localization keys.
#rnx
	#rb: Vincent.Gauthier
	#jira: UE-143620
	#preflight: 6222489d2f7d78332e121416
	#lockdown Mitchell.Wilson

#ROBOMERGE-AUTHOR: leon.huang
#ROBOMERGE-SOURCE: CL 19272838 in //UE5/Release-5.0/... via CL 19273134
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19275063 by leon huang in ue5-main branch]
2022-03-04 16:10:23 -05:00