Commit Graph

207 Commits

Author SHA1 Message Date
richard malo
874bdd218a UDataLayerEditorSubsystem now exposes to Blueprint functions to Add/Remove Data Layers to the Actor Editor Context.
#rb JeanFrancois.Dube

[CL 31423311 by richard malo in ue5-main branch]
2024-02-13 09:05:35 -05:00
jeanfrancois dube
ccb8d34ae6 World Partition: bring back FWorldPartitionHandle/FWorldPartitionReference arrow and dereference operators.
#rb Sebastien.Lussier

[CL 31269519 by jeanfrancois dube in ue5-main branch]
2024-02-07 15:42:38 -05:00
jeanfrancois dube
31a4e8f77f World Partition:
- Show unloaded actors under level instances in the World Outliner.
- Fix data layer manager to to call UDataLayerManager::OnActorDescContainerInstanceInitialized on all registered actor descriptor container instances recursively.

#jira UE-203240, FORT-553803
#rb Richard.Malo


#changelist validated
#virtualized

[CL 31254024 by jeanfrancois dube in ue5-main branch]
2024-02-07 07:53:01 -05:00
richard malo
032e134c05 Fixed invalid test preventing creation of Data Layer Instances.
#rb jeanfrancois.dube

[CL 31195076 by richard malo in ue5-main branch]
2024-02-05 18:17:01 -05:00
aris theophanidis
cb1633abd0 Fix ensure when editing CDO properties in FDataLayersBroadcast::OnObjectPostEditChange.
It can be called on a CDO and GetWorld() can be overrided using the "Within=World" macro (which ensures when being called on a CDO).
#rb Richard.Malo

[CL 31171713 by aris theophanidis in ue5-main branch]
2024-02-05 09:19:28 -05:00
richard malo
c539bd0b38 Fixed other Localization Text conflicts
#rb jeanfrancois.dube
#jira UE-205606

[CL 31088311 by richard malo in ue5-main branch]
2024-02-01 10:46:16 -05:00
richard malo
d15ec9249a Fix bug when creating a Level Instance containing actors assigned to an External Data Layer.
#rb sebastien.lussier

[CL 31049917 by richard malo in ue5-main branch]
2024-01-31 11:15:10 -05:00
richard malo
78d11160e2 Removed invalid checks triggered when removing Data Layers from Actor Editor Context. A case where this could happen is if the actor editor context contained an External Data Layer and the user created a new Level Instance with actors contained in the map.
#rb sebastien.lussier

[CL 31048588 by richard malo in ue5-main branch]
2024-01-31 10:37:18 -05:00
richard malo
14620f45a3 External Data Layer V1
- Allows for plugins to inject/remove content (actors) in a partitioned world
- Serves as a replacement for the experimental 'Content Bundle' feature
- Added new External Data Layer (EDL) Asset
- Added new Game Feature Action 'AddWorldPartitionContent' to control activation of an EDL asset
- Supports Data Layers inside a plugin (child of an EDL)
- Added builder to convert content bundles to EDL (UGameFeatureActionConvertContentBundleWorldPartitionBuilder)
- Feature is temporarily disabled by default and can be turned on using Editor Experimental Settings 'Enable World Partition External Data Layers' flag
#jira UE-204248
#rb JeanFrancois.Dube, Patrick.Enfedaque, Sebastien.Lussier
#tests QAGame PIE/-game/cooked, Regression test PIE/cook of latest game map, Tested PIE/cook of latest game map converted to EDL

[CL 31015614 by richard malo in ue5-main branch]
2024-01-30 14:18:27 -05:00
jeanfrancois dube
f27a901623 Data Layers: when double-clicking on a data layer instance, only append to current state if control is down, otherwise only apply selected data layer instance.
#rb Richard.Malo
[FYI] jeansebastien.guay

[CL 30374661 by jeanfrancois dube in ue5-main branch]
2023-12-18 08:29:44 -05:00
jeanfrancois dube
06c2e7be30 Data Layers: implement current data layers coloration, will use the data layer debug color if a single data layers is current, otherwise white if more than one.
#rb Richard.Malo, vincent.beauchemin
[FYI] jeansebastien.guay

[CL 30350544 by jeanfrancois dube in ue5-main branch]
2023-12-15 11:40:42 -05:00
patrick enfedaque
b7eaad89dc WorldPartition: Add UActorDescContainerInstance/FWorldPartitionActorDescInstance which take transient/context data from UActorDescContainer/FWorldPartitionActorDesc leaving them as pure on disk representations.
- UActorDescContainerInstance contains: Transform, ContainerID, InstancingContext
- FWorldPartitionActorDescInstance contains: ResolvedDataLayers, RefCounts, Remapped Instanced actor path, Actor loading code

#rb JeanFrancois.Dube, Richard.Malo, Sebastien.Lussier
#tests editor, cook, pie, hlod builder, level instance, internal projects

[CL 30260359 by patrick enfedaque in ue5-main branch]
2023-12-12 06:59:42 -05:00
richard malo
ff60d1b39b Fixed typo in menu option "Create New Data Layer With Asset" (DataLayer -> Data Layer)
#rb patrick.enfedaque

[CL 28630127 by richard malo in ue5-main branch]
2023-10-10 14:20:49 -04:00
richard malo
1edef6d895 Changed create new data layer menu to Changed create new data layer with asset (when not using deprecated data layers) which allows to create/choose an existing data layer asset and assign it to the newly created Data Layer Instance in one operation.
#rb patrick.enfedaque
#jira UE-195294

[CL 28550517 by richard malo in ue5-main branch]
2023-10-06 14:34:17 -04:00
richard malo
dcf113a2fb WorldPartition: Added option in WorldDataLayers actor to save each DataLayerInstances in their own file (disabled by default)
#rb patrick.enfedaque, jeanfrancois.dube
#jira UE-196867

[CL 28546065 by richard malo in ue5-main branch]
2023-10-06 13:03:20 -04:00
richard malo
6859ec0c2d Fixed rare crash in Data Layer outliner when binded to a null world
#rb jeanfrancois.dube
#jira UE-196436

[CL 28500190 by richard malo in ue5-main branch]
2023-10-05 11:14:39 -04:00
teddemunnik
c8113cc6f4 PR #10872: Fix crash in data layer editor when streaming-out a partitioned level with runtime data layers
#rb patrick.enfedaque
#jira UE-195297

[CL 28003510 by teddemunnik in ue5-main branch]
2023-09-19 13:52:42 -04:00
jeanfrancois dube
635744b0ae Data Layers: change default from editor to runtime when creating public data layer assets.
#rb richard.malo
[FYI] jeansebastien.guay

[CL 27827380 by jeanfrancois dube in ue5-main branch]
2023-09-13 09:02:22 -04:00
steve robb
51f3ea53ae Removed ChooseClass.h includes.
#rb trivial

[CL 27823723 by steve robb in ue5-main branch]
2023-09-13 05:43:01 -04:00
patrick enfedaque
f5d40f863d SceneOutliner: dissociate bShowTransient from showing Level Instance hierarchy
- Remove some redundant filters now that this is done
- ISceneOutlinerMode::InitializeViewMenuExtender allows extending the menu (use Extension hooks) instead of only adding through ISceneOutlinerMode::CreateViewContent

#rb richard.malo
#rnx

[CL 27559488 by patrick enfedaque in ue5-main branch]
2023-09-01 13:03:00 -04:00
patrick enfedaque
a7398cc00d SceneOutliner: Optimize cost of FWorldPartitionActorDesc::IsLoaded call (which calls StaticFindObject). Use new FEditorLoadedActorCache helper instead.
12 calls to FActorHierarchy::CreateWorldChildren in a 55k actor map with 15k loaded actors goes from 5.1 seconds to 2.7 seconds

#rb richard.malo, jeanfrancois.dube
#rnx

[CL 27373897 by patrick enfedaque in ue5-main branch]
2023-08-25 07:43:32 -04:00
patrick enfedaque
ee4a7776d8 DataLayerEditorSubsystem: Avoid SceneOutliner refreshes
- remove HasDataLayers() condition which was added for fixing CopyPaste of actors and no longer needed (tested copy/paste)
- avoid calling ActorEditorContextClientChanged in BroadcastDataLayerChanged and instead call it in AddActorToEditorContext/RemoveActorFromEditorContext

#rb richard.malo
#rnx

[CL 27342033 by patrick enfedaque in ue5-main branch]
2023-08-24 10:55:44 -04:00
patrick enfedaque
b697e201cf ActorEditorContext
- Add FScopedActorEditorContextFromActor which pushes a new context based on the provided actor (will be used in next Foliage CL)
- Implemented through IActorEditorContextClient(s) with EActorEditorContextAction::InitializeContextFromActor
- Remove Adding of DataLayers in ActorPartitionSubsystem as this will be done by the DataLayerEditorSubsystem through the active editor context
- Properly support ContextBundles in ActorPartitionSubsystem to generate unique name
- Cleanup APartitionActor naming API + Labels

#rb richard.malo
#rnx

[CL 27309490 by patrick enfedaque in ue5-main branch]
2023-08-23 12:21:45 -04:00
jeanfrancois dube
f6efc708f9 World Partition: added support for client and server only data layers activation.
- This can be used for data layers adding details on high end platforms.
- This can be used in content bundles with server-only data layers.

This is CL26804958 brought back with fixes.

#jira UE-176165, FORT-542185
#rb sebastien.lussier

[CL 27029196 by jeanfrancois dube in ue5-main branch]
2023-08-11 11:14:31 -04:00
patrick enfedaque
aee5dd80e2 DataLayer Outliner: Fix deleted actors showing as unloaded
#rb richard.malo
#rnx

[CL 26017729 by patrick enfedaque in ue5-main branch]
2023-06-15 12:44:13 -04:00