Commit Graph

191 Commits

Author SHA1 Message Date
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
philippe deseve
5025986046 AActor types can now supports differents UDataLayerInstance types via IsDataLayerTypeSupported
Deprecate ActorTypeSupportsDataLayer

#rb richard.malo

[CL 25880291 by philippe deseve in ue5-main branch]
2023-06-08 15:54:51 -04:00
philippe deseve
587c530174 RemoveAllDataLayers now goes through DataLayerInstance::RemoveActor interface to perform Removal validation code
#rb richard.malo

[CL 25872031 by philippe deseve in ue5-main branch]
2023-06-08 11:07:47 -04:00
patrick enfedaque
073de4ad22 DataLayerTreeItem: workaround compiler bug
#rb philippe.deseve, jeanfrancois.dube
#preflight 646f60e36c2a2532b14d13c3
#rnx

[CL 25644303 by patrick enfedaque in ue5-main branch]
2023-05-26 12:02:43 -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
richard malo
86eaeb896a Small refactor : Use FArchiveMD5::GetGuidFromHash to simplify code
#rb jeanfrancois.dube
#preflight 64555ee9ed7ffaa0f5d56e7d

[CL 25369689 by richard malo in ue5-main branch]
2023-05-08 09:08:07 -04:00
richard malo
dd61b26132 Prevent assigning actor to private data layer not part of the same WorldDataLayers
#rb patrick.enfedaque
#jira UE-184478
#preflight 644baf9ef502608229e5fe83

[CL 25238952 by richard malo in ue5-main branch]
2023-04-28 16:01:13 -04:00
philippe deseve
3005ef7582 Non-user managed actors can no longer be added/removed to DataLayers via the DataLayerOutliner (similar to DragnDropOp)
Removed DataLayerMode capture of this as it is not valid when the context menu is re-created

#rb richard.malo

[CL 24991903 by philippe deseve in ue5-main branch]
2023-04-11 11:30:47 -04:00
philippe deseve
905303061e Fix static analysis error
#rb none
#preflight 642583c2c42c7fd1cbae978e

[CL 24867828 by philippe deseve in ue5-main branch]
2023-03-31 02:38:56 -04:00
patrick enfedaque
3773a4f9ef DataLayer: Private DataLayer
- Editor only DataLayer type that can be used for filters without having to create DataLayer asset

#rb richard.malo
#preflight 6422e1065e52099fe3ce0745
#rnx

[CL 24820907 by patrick enfedaque in ue5-main branch]
2023-03-28 12:23:16 -04:00
philippe deseve
a0b4da2047 Expand UDataLayerInstance interface in preparation for ExternalDataLayer.
Allow DataLayerInstance to not support Parenting or being parented.
Allow preventing adding or removing actors from the DataLayerOutliner
Allow preventing adding DataLayerInstance to the actor editor context
Add UDataLayerInstance::IsUserManaged to define if the data layer creation/deletion is managed by the user.

#rb richard.malo

[CL 24797884 by philippe deseve in ue5-main branch]
2023-03-26 15:44:07 -04:00
jeanfrancois dube
ca323e9920 Scene Outliner: don't sort unloaded actors at the end of the list to avoid messy behavior when changing the loaded state of an actor.
#rb richard.malo
#preflight 641af921691c5ebc153fcb51

[CL 24778066 by jeanfrancois dube in ue5-main branch]
2023-03-24 08:26:31 -04:00
patrick enfedaque
14d2ded84b DataLayer: Refactor some relabel code to support DataLayerInstanceWithAsset renaming (when they are private)
- Renamed to ShortName to simplify
- Moved into FDataLayerUtils
- New code isn't deprecated as support for renaming private DLs will be added
- New code is independant from deprecated code 5.1/5.0 that can be removed once we update our internal projects (UE-176057)

#rb richard.malo, philippe.deseve
#preflight 64186fb65d3e25354ffddcf3
#rnx

[CL 24723930 by patrick enfedaque in ue5-main branch]
2023-03-20 17:16:42 -04:00
patrick enfedaque
0a3865cb06 DataLayerEditorSubsystem: Update Visibility on initialized World Partition only (Optim)
#rb richard.malo
#preflight 641073f1bd6894c4351de9c1
#rnx

[CL 24652685 by patrick enfedaque in ue5-main branch]
2023-03-15 07:39:52 -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
3348e07dcf LevelInstance: Fix Skipped actor descs being displayed in outliner since CL 24422197
#rb richard.malo, sebastien.lussier
#preflight 640791f7aa00423335532974
#rnx

[CL 24560412 by patrick enfedaque in ue5-main branch]
2023-03-08 10:55:55 -05:00
patrick enfedaque
4217ec9c76 DataLayer Outliner: Fix WorldDataLayer item not being displayed when World doesn't yet have DL Instances
#rb richard.malo
#preflight 6406408bde14c9e34b8cd5e1

[CL 24538778 by patrick enfedaque in ue5-main branch]
2023-03-07 08:19:49 -05:00