Commit Graph

231 Commits

Author SHA1 Message Date
richard malo
0e1b298da9 Proper support of child actors for actors using External Data Layers
#rb Sebastien.Lussier

[CL 32766350 by richard malo in ue5-main branch]
2024-04-05 14:00:22 -04:00
richard malo
bc3e41711c Fixed UDataLayerEditorSubsystem trying to access the DataLayerManager for a non-partitioned level, but using OFPA
#rb JeanFrancois.Dube

[CL 32760443 by richard malo in ue5-main branch]
2024-04-05 11:00:42 -04:00
richard malo
62370762a1 Replaced hardcoded LoadModuleChecked of WorldPartitionEditor by IWorldPartitionEditorModule::Get(). Also removed cached instance pointer as it's not safe to be used during shutdown phase.
#rb Sebastien.Lussier

[CL 32697013 by richard malo in ue5-main branch]
2024-04-03 10:07:35 -04:00
richard malo
2d2b540afc Fixed CIS static analysis
#rb richard.malo

[CL 32696405 by richard malo in ue5-main branch]
2024-04-03 09:42:40 -04:00
richard malo
e3c6537224 - Added External Data Layer support for "Replace Actor with asset/BP class".
- Added External Data Layer support for "Place Actor with asset/BP class".
- Fixed External Data Layer support for BP reinstancing
- When no actor editor context is provided, try to solve a matching EDL based on asset/BP Class mountpoint
- Actor Editor Context EDL is applied when possible, when not, it generates a warning with the details of the failure reason (typically invalid reference)
#rb JeanFrancois.Dube

[CL 32693930 by richard malo in ue5-main branch]
2024-04-03 07:38:01 -04:00
richard malo
5b2bac8c15 - External Data Layers : Fixes the case where a child DL of an EDL is made current (which makes its EDL current), didn't remove the Current CB
- AWorldDataLayers::AddToActorEditorContext is now responsible of deactivating Content Bundle Context (instead of UDataLayerEditorSubsystem::AddToActorEditorContext)
#rb JeanFrancois.Dube

[CL 32574277 by richard malo in ue5-main branch]
2024-03-28 08:23:59 -04:00
richard malo
e24571c496 Only allow data layers of a game feature plugin to be under a WorldDataLayers of the same game feature plugin.
Only allow data layers of a non-game feature plugin to be under a non-game feature WorldDataLayers.
#rb JeanFrancois.Dube

[CL 32442354 by richard malo in ue5-main branch]
2024-03-22 14:21:14 -04:00
ben zeigler
7495e4cc00 Change FTickableGameObjects that use the soon-to-be-deprecated IsAllowedToTick to instead use IsTickable if it is actually needed
#jira UE-204963
#rb ben.hoffman

[CL 32402603 by ben zeigler in ue5-main branch]
2024-03-21 12:04:02 -04:00
richard malo
c0b7610373 Data Layer Outliner : Fixed drop text showing 'create' data layer instead of 'move' when appropriate.
#rb JeanFrancois.Dube

[CL 32362305 by richard malo in ue5-main branch]
2024-03-20 08:07:32 -04:00
richard malo
b249f92645 - Actor Editor Context current external data layer is now taken into account when duplicating actors.
- Duplicated actor is first initialized using source actor's External Data Layer. Then, Actor Editor Context tries to apply the current external data layer (which can fail if it would create invalid asset references).
- Also fixed UActorEditorContextSubsystem::ApplyContext when pasting actors : Actor Editor Context now waits at the end of the paste operation to apply the context as imported properties can override the properties if applied before (adapted Content Bundle to behave like before)
#rb Sebastien.Lussier

[CL 32324874 by richard malo in ue5-main branch]
2024-03-19 10:18:04 -04:00
jeanfrancois dube
88f6a09ab0 World Partition: fix minor regression from 32133290 that was showing deleted actors as unloaded in the world outliner.
#rb Richard.Malo

[CL 32278736 by jeanfrancois dube in ue5-main branch]
2024-03-15 13:40:39 -04:00
richard malo
2c45294065 Fixed DataLayerEditorSubsystem having duplicate registered world delegates launching the project with the World in parameter.
#rb jeanfrancois.dube

[CL 32270906 by richard malo in ue5-main branch]
2024-03-15 08:06:24 -04:00
richard malo
48db7ecdb8 Removed circular dependency of DataLayerEditor to LevelEditor.
#rb jeanfrancois.dube

[CL 32247566 by richard malo in ue5-main branch]
2024-03-14 12:07:54 -04:00
richard malo
5612af049f Fix CIS : Action graph contains cycle.
#rb JeanFrancois.Dube

[CL 32244983 by richard malo in ue5-main branch]
2024-03-14 10:41:39 -04:00
richard malo
3c30fcc49e Added 2 advanced actor actions : 1- Remove actor(s) from their External Data Layer, 2- Move actor(s) to another External Data Layer
These operations will first make sure that they won't generate invalid cross-domain references. If so, the operation will fail and be reported through logging and notification.
#rb JeanFrancois.Dube, Sebastien.Lussier

[CL 32244029 by richard malo in ue5-main branch]
2024-03-14 09:58:08 -04:00
richard malo
679525caae Exposed DataLayerInstance filter in FDataLayerPropertyTypeCustomizationHelper::CreateDataLayerMenu (for future use)
Fixed FOnShouldFilterDataLayerInstance so that true actually filters the Data Layer instance (implementation and test were inverted which was confusing).
#rb JeanFrancois.Dube

[CL 32156169 by richard malo in ue5-main branch]
2024-03-11 11:38:41 -04:00
jeanfrancois dube
df6acf18b3 World Partition:
- FEditorLoadedActorCache was reporting unregistered loaded actors and the code that was using it was expecting registered actors.
- Replaced FEditorLoadedActorCache by FWorldPartitionHelpers::GetLoadedActorGuidsForLevel that gathers registered actors GUIDs and updated callers.
- UWorldPartition::Tick is now private to avoid code like LandscapeEditorUtils::SaveLandscapeProxies doing manual ticks to get around unwanted internal behaviors.
- TExternalDirtyActorsTracker can now filter out tracked actors depending on the parent class wanted behavior.
- Don't track dirty actors coming from non transactional operations.

#rb chris.tchou

[CL 32133372 by jeanfrancois dube in ue5-main branch]
2024-03-08 17:00:42 -05:00
richard malo
c6106a5390 Added 'Runtime Data Layer Color' and 'External Data Layer Color' Actor Coloration modes.
#rb JeanFrancois.Dube

[CL 31812612 by richard malo in ue5-main branch]
2024-02-26 14:29:32 -05:00
richard malo
05b3311284 Data Layer Outliner improvements:
- Added Data Layer Debug Color column
- Now properly restores last outliner state when starting the editor (like visible columns)
#rb jeanfrancois.dube

[CL 31807819 by richard malo in ue5-main branch]
2024-02-26 12:27:21 -05:00
richard malo
c96ad42249 Allow Editor Data Layers to be created under External Data Layers.
#rb JeanFrancois.Dube

[CL 31801284 by richard malo in ue5-main branch]
2024-02-26 08:26:51 -05:00
richard malo
3ed8bdf5c0 Create New Data Layer With Asset now filters and show only allowed Data Layer Assets
#rb JeanFrancois.Dube

[CL 31775653 by richard malo in ue5-main branch]
2024-02-23 15:55:19 -05:00
richard malo
f759f0bcad Added menu option "Browse to Plugin Asset" for Data Layer instances referencing an External Data Layer asset.
#rb JeanFrancois.Dube

[CL 31762124 by richard malo in ue5-main branch]
2024-02-23 09:32:35 -05:00
richard malo
47317d3460 Data Layer Outliner QoL
- Double click on unloaded actor selects and focus on the item in the outliner
- Added Pin/Unpin option on a Data Layer to allow pinning/unpinning all child actors
#rb JeanFrancois.Dube

[CL 31761037 by richard malo in ue5-main branch]
2024-02-23 08:42:17 -05:00
richard malo
7a66bb8cc7 - Fixed error reporting of unsupported child ClientOnly/ServerOnly data layers
- Fixed wrong message displayed for unsupported editor data layer child of a runtime parent data layer
#rb JeanFrancois.Dube

[CL 31693164 by richard malo in ue5-main branch]
2024-02-21 14:52:19 -05:00
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