Also restores follow-up CLs 19973746, 19973782
FStaticParameterSet::MaterialLayers can't be deprecated, since a property with the same name is included via FStaticParameterSetRuntimeData
So instead, FMaterialLayersFunctionsRuntimeData is updated with SerializeFromMismatchedTag, to allow serializing a full FMaterialLayersFunction.
When this happens, the EditorOnly portion is stored in a separate heap allocation, and then transferred to FStaticParameterSet::EditorOnly::MaterialLayers
#preflight 626c3405e31dbb512cef1e98
[Backout] - CL19973745
#fyi bob.tellez
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL19964485
#fyi Ben.Ingram
Original CL Desc
-----------------------------------------------------------------
Add 'Optional' EditorOnly data for UMaterialInterface and UMaterialFunctionInterface
These are separate UObject hierarchies that store editor-only UPROPERTIES, but can be included with cooked content, which allows full editor support.
In principle, all editor-only properties could be moved over. So far, this has been limited to UMaterialExpressions, and data related to material parameters.
FStaticParameterSet, FMaterialLayersParameters, and FMaterialCachedExpressionData have all been split into separate editor-only/non-editor-only classes,
which allows the editor-only portion to be stored on the optional editor-only UObject.
#preflight 626ab21dad56c0cbbea32dc4
#rb jason.nadro, francis.hurteau
#jira FORT-463329
[CL 20043286 by Jason Nadro in ue5-main branch]
#fyi Ben.Ingram
Original CL Desc
-----------------------------------------------------------------
Add 'Optional' EditorOnly data for UMaterialInterface and UMaterialFunctionInterface
These are separate UObject hierarchies that store editor-only UPROPERTIES, but can be included with cooked content, which allows full editor support.
In principle, all editor-only properties could be moved over. So far, this has been limited to UMaterialExpressions, and data related to material parameters.
FStaticParameterSet, FMaterialLayersParameters, and FMaterialCachedExpressionData have all been split into separate editor-only/non-editor-only classes,
which allows the editor-only portion to be stored on the optional editor-only UObject.
#preflight 626ab21dad56c0cbbea32dc4
#rb jason.nadro, francis.hurteau
#jira FORT-463329
[CL 19973745 by bob tellez in ue5-main branch]
These are separate UObject hierarchies that store editor-only UPROPERTIES, but can be included with cooked content, which allows full editor support.
In principle, all editor-only properties could be moved over. So far, this has been limited to UMaterialExpressions, and data related to material parameters.
FStaticParameterSet, FMaterialLayersParameters, and FMaterialCachedExpressionData have all been split into separate editor-only/non-editor-only classes,
which allows the editor-only portion to be stored on the optional editor-only UObject.
#preflight 626ab21dad56c0cbbea32dc4
#rb jason.nadro, francis.hurteau
#jira FORT-463329
[CL 19964485 by Ben Ingram in ue5-main branch]
- UWorldSubsystem::DoesSupportWorldType still doesn't support EWorldType::Inactive so behavior remains unchanged
- WorldPartitionCookPackageSplitter now initializes the world if it isn't already so that UDataLayerSubsystem is initialized at cook time
- Remove remaining code path where same world could be reused if it was initialized as inactive (Opening unsaved new level in content browser will now require saving first)
#jira none
#rb richard.malo, jeanfrancois.dube
#preflight 62669d3a0634d0904cdba283
#test CitySample, AncientWorld
[CL 19917858 by Patrick Enfedaque in ue5-main branch]
- Use FLinkerInstancingContext Tag to load all external actors instead of using a global map
#rb richard.malo, jeanfrancois.dube, francis.hurteau
#preflight 624aea29c51908059ae6b82f
#rnx
[CL 19607995 by Patrick Enfedaque in ue5-main branch]
331s -> 0.28s to consolidate objects when cloning a small shooting range map
#rb Robert.Manuszewski,Chris.Gagnon,Francis.Hurteau,Jamie.Dale,JeanLuc.Corenthin,Phillip.Kavan
#ROBOMERGE-AUTHOR: johan.torp
#ROBOMERGE-SOURCE: CL 19507095 via CL 19507103 via CL 19507108 via CL 19507110
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)
[CL 19514683 by johan torp in ue5-main branch]
- API to control default behavior of whether newly created content is made public or private on creation
- Ensure duplication copies original's Public/Private state
#rb Francis.Hurteau
#preflight 623b6f07da56b5683a0b56a4
#ROBOMERGE-OWNER: scott.nelson
#ROBOMERGE-AUTHOR: scott.nelson
#ROBOMERGE-SOURCE: CL 19485709 via CL 19487498 via CL 19498786 via CL 19498791
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v936-19480137)
[CL 19501393 by scott nelson in ue5-main branch]
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]
ImgMedia and normal texture import both registered for EXR
would randomly import one or the other on different runs of Editor
adjust priorities so they are not ambiguous
also add detection and logging to prevent this
#rb Julien.StJean
#preflight 622f441c6131e07703a04ed5
[CL 19373316 by charles bloom in ue5-main branch]
The condition here mimics the condition we use when we advise caution about opening the Blueprint Editor on the same assets.
Use Force Delete to null out references and unload assets so we can delete the package files that Migrate generated.
#rnx
#rb steve.robb
#jira UE-142833
#preflight 62100735eb1ea1b2cce404d1
[CL 19103703 by geoff evans in ue5-main branch]
Move LoadAssets to after the UI prompts for the UX benefit.
#rnx
#rb trivial
#preflight 620e84137d6fd1dfc4525eae
#jira UE-142832
[CL 19036708 by geoff evans in ue5-main branch]
### AssetTools
Check each package's mount point and fold that against each Plugin's LoadedFrom (Project or Engine)
If Engine content is visible in the Content Browser, show but do not schedule Engine Plugin content for Migration
Add support for sending in "ShouldMigratePackage" state to SPackageReportDialog
### SPackageReportDialog
Remove "Active" state -> this dialog used to associate Disabled tree item state with the state of not Migrating a package. Just rely on the check state to dictate if a package will be Migrated
Add support for indeterminate checkbox state for folders within the dialog when some, but not all, children being selected for migration
Add logic for initial check/indeterminate/unchecked state and when check state changes on an item
Propagate check state up the hierarchy from the check change event item
#rnx
#rb rex.hill
#jira UE-142543
#preflight 620d6a3926435e00d2de7d3f
[CL 19023118 by geoff evans in ue5-main branch]
DuplicateObjects takes the destination path very literally, flattening objects to a single folder. Instead, loop over all the objects, calculate the correct relative path, and duplicate the objects one-by-one.
#rnx
#rb rex.hill
#preflight 620be74c475fb819ddc7c756
#jira UE-142545
[CL 18999816 by geoff evans in ue5-main branch]