Commit Graph

107 Commits

Author SHA1 Message Date
nick darnell
e85b0cd48c AssetDefinition - This is the seed of a long term replacement of IAssetTypeActions. IAssetTypeActions is woefully inadiquit now. It puts a lot of functionality in one place, which wouldn't be a terrible thing, except for the GetActions, and some of the menu stuff being built into this class. We need to make an effort to not have to load every single asset just to open the context menu you have selected, to-wit, a previous CL made it so that summoning the menu no longer *Had* to load the assets, however several remaining issues remained with the Blueprint Utility Actions, and the fact that we don't "KNOW" if we need to call GetActions for an asset. We could introduce a replacement in the class, but that would just get inherited, causing other issues. So instead the parallel UObject based AssetDefinition now exists. In large part it will probably be very similar to the other one, but several things in it probably need to chnage. For now there is a bridging concept in the form of the AssetDefinitionAssetTypeProxy.
Several amounts of effort went into the newer design of UAssetDefinition to make it easier to change over time, more things are structs now for input and output so additional parameters can be added.

AssetDefinition module is an editor module instead of being a developer module.
AssetDefinition does not include a myraid of things it shouldn't such as the blueprint module and UnrealEd.

#jira UE-165574
#preflight 636c0ec4d0174259cca85e37

[CL 23083536 by nick darnell in ue5-main branch]
2022-11-10 13:13:41 -05:00
bob tellez
635e0d776e [Backout] - CL23068129 and 23069638
[FYI] Nick.Darnell
Original CL Desc
-----------------------------------------------------------------
AssetDefinition - This is the seed of a long term replacement of IAssetTypeActions.  IAssetTypeActions is woefully inadiquit now.  It puts a lot of functionality in one place, which wouldn't be a terrible thing, except for the GetActions, and some of the menu stuff being built into this class.  We need to make an effort to not have to load every single asset just to open the context menu you have selected, to-wit, a previous CL made it so that summoning the menu no longer *Had* to load the assets, however several remaining issues remained with the Blueprint Utility Actions, and the fact that we don't "KNOW" if we need to call GetActions for an asset.  We could introduce a replacement in the class, but that would just get inherited, causing other issues.  So instead the parallel UObject based AssetDefinition now exists.  In large part it will probably be very similar to the other one, but several things in it probably need to chnage.  For now there is a bridging concept in the form of the AssetDefinitionAssetTypeProxy.

Several amounts of effort went into the newer design of UAssetDefinition to make it easier to change over time, more things are structs now for input and output so additional parameters can be added.

AssetDefinition module is an editor module instead of being a developer module.
AssetDefinition does not include a myraid of things it shouldn't such as the blueprint module and UnrealEd.

#jira UE-165574
#preflight 636c0ec4d0174259cca85e37

[CL 23072024 by bob tellez in ue5-main branch]
2022-11-10 01:18:44 -05:00
nick darnell
fd6f4a29b1 AssetDefinition - This is the seed of a long term replacement of IAssetTypeActions. IAssetTypeActions is woefully inadiquit now. It puts a lot of functionality in one place, which wouldn't be a terrible thing, except for the GetActions, and some of the menu stuff being built into this class. We need to make an effort to not have to load every single asset just to open the context menu you have selected, to-wit, a previous CL made it so that summoning the menu no longer *Had* to load the assets, however several remaining issues remained with the Blueprint Utility Actions, and the fact that we don't "KNOW" if we need to call GetActions for an asset. We could introduce a replacement in the class, but that would just get inherited, causing other issues. So instead the parallel UObject based AssetDefinition now exists. In large part it will probably be very similar to the other one, but several things in it probably need to chnage. For now there is a bridging concept in the form of the AssetDefinitionAssetTypeProxy.
Several amounts of effort went into the newer design of UAssetDefinition to make it easier to change over time, more things are structs now for input and output so additional parameters can be added.

AssetDefinition module is an editor module instead of being a developer module.
AssetDefinition does not include a myraid of things it shouldn't such as the blueprint module and UnrealEd.

#jira UE-165574
#preflight 636c0ec4d0174259cca85e37
[REVIEW]

[CL 23072002 by nick darnell in ue5-main branch]
2022-11-10 01:17:07 -05:00
jeanfrancois dube
cc8caec86e Fix changelist validation regression introduced in 23051285.
#rb none
#preflight none
#rnx

[CL 23071789 by jeanfrancois dube in ue5-main branch]
2022-11-10 01:07:23 -05:00
jeanfrancois dube
f31e128e4a World Partition Validations: changed how we handle invalid actor references to detect references to external containers, such as content bundles. This will also report these invalid setups when validating changelists, which was silently falling through the cracks before.
#rb richard.malo
#preflight 636ab50e450be1d9f83e9231
#rnx

[CL 23069460 by jeanfrancois dube in ue5-main branch]
2022-11-09 20:55:05 -05:00
henrik karlsson
b5b86c796c This change is a strategical submit for a coming change that removes lots of includes in headers that are included by many files. This change contains adding of includes in files that previously got those includes transitively from other inclkudes
#preflight 6355d4940313c24974b2107b
#rb none

[CL 22783162 by henrik karlsson in ue5-main branch]
2022-10-26 12:57:32 -04:00
philippe deseve
a62ea9b8a0 Changelist validation now perform streaming generation validation on content bundle as well
#rb jeanfrancois.dube

[CL 22723892 by philippe deseve in ue5-main branch]
2022-10-24 09:11:27 -04:00
rex hill
66bb5d9c9d Convert data validation content browser context menus to ToolMenus
#preflight skip
#rnx

[CL 22717116 by rex hill in ue5-main branch]
2022-10-23 21:59:07 -04:00
clint levijoki
b47776ba29 Added option to disable the 'out of date dependency' warning
#rb eric.kapnick
#preflight 6352fa19cb31f106cef46df2

[CL 22712177 by clint levijoki in ue5-main branch]
2022-10-22 15:35:45 -04:00
Matt Peters
84f500d559 DataValidationCommandlet: Initialize the AssetRegistry since we're using it to get a list of all assets. Add -projectonly argument.
#rb Francis.Hurteau
#rnx
#preflight 6349c9a2ce524ed356020bd7

[CL 22534533 by Matt Peters in ue5-main branch]
2022-10-14 17:02:27 -04:00
jeanfrancois dube
06eb08bbe2 Data Validation: added UObject::IsDataValid version taking an FDataValidationContext input and removed newly introduced version that gathers warnings.
No functionnal change, this is mainly to avoid having to introduce new versions of UObject::IsDataValid in the future (old one will be deprecated in 5.2).
Change proposed by nick.darnell.

#rb nick.darnell
#preflight 6346c1d8f93be0f63462e334
#rnx

[CL 22505664 by jeanfrancois dube in ue5-main branch]
2022-10-13 11:46:00 -04:00
matt hoffman
c005c247a4 Sequencer: Store the package dirty flag before attaching/detaching actors during restore state. Attach can call detach (if it was previously attached), and this dirties the package. This causes Sequencer to unnecessairly check out actors in OFPA as Sequencer restores the world state on save, but the attach track ends up dirtying the actor when putting it back to its original state. This causes an erronous package dirty which then shows up as a file that needs to be checked out/saved even though from the user perspective you haven't actually changed any assets in the level.
#jira UE-165998
#rb Max.Chen, JeanFrancois.Dube
#preflight 6340a59c437603cb0e4da7e8

[CL 22450186 by matt hoffman in ue5-main branch]
2022-10-11 00:37:00 -04:00
jeanfrancois dube
c41cb425d7 World Partition Validation: make spatially loaded actors referencing non-spatially loaded ones a warning instead of an error since this will be supported in the future.
#rb sebastien.lussier
#preflight none
#rnx

[CL 22390142 by jeanfrancois dube in ue5-main branch]
2022-10-06 20:57:56 -04:00
richard malo
0c3c907b3f Fixed world partition Map Check not validating level instances.
#rb patrick.enfedaque, jeanfrancois.dube
#preflight 633ca35f4a2cd8f4b267c085

[CL 22362178 by richard malo in ue5-main branch]
2022-10-05 16:04:08 -04:00
bryan sefcik
50d4fac9e0 Updated ../Engine/Plugins/... to inline gen.cpp files
Before:
3548 unity files
Total CPU Time: 47343.578125 s
Total time in Parallel executor: 494.60 seconds

After:
3445 unity files
Total CPU Time: 46044.671875 s
Total time in Parallel executor: 468.51 seconds

#jira
#preflight 63336159b20e73a098b7f24f

[CL 22218213 by bryan sefcik in ue5-main branch]
2022-09-28 01:06:15 -04:00
jeanfrancois dube
025790e17b World Partition: detect duplicate actors coming from content bundles as invalid. operation.
#rb philippe.deseve, patrick.enfedaque
#preflight 632cef9910030508068a9464
#rnx

[CL 22164368 by jeanfrancois dube in ue5-main branch]
2022-09-23 20:21:27 -04:00
richard malo
5b0413e2c5 Fixed WorldPartition changelist validator crash accessing world partition's ActorDescContainer on a loaded but not initialized world.
#rb jeanfrancois.dube

[CL 21997789 by richard malo in ue5-main branch]
2022-09-13 21:49:01 -04:00
bryan sefcik
7b9e5abbcc Pass 1 on plugins:
Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.

#jira
#preflight 631b93c6967ffc68fb2c32df

[CL 21935609 by bryan sefcik in ue5-main branch]
2022-09-10 00:03:16 -04:00
Robert Millar
d49eb76cc7 FNames containing asset paths are deprecated. FSoftObjectPath or FTopLevelAssetPath should be used instead.
Fixups for data validation.

#jira UE-161932
#rb none
#preflight https://horde.devtools.epicgames.com/job/6319155f967ffc68fbaebff3

[CL 21867398 by Robert Millar in ue5-main branch]
2022-09-07 19:32:54 -04:00
Robert Millar
f56e3ba047 FNames containing asset paths are deprecated. FSoftObjectPath or FTopLevelAssetPath should be used instead.
Fixups for World Partition + World Composition.

#jira UE-161932
#rb jeanfrancois.dube,francis.hurteau
#preflight 63181ce0304480f8f8f039e6

[CL 21841240 by Robert Millar in ue5-main branch]
2022-09-07 00:43:33 -04:00
philippe deseve
875385177c Allow for a single WorldPartition to have multiple ActorDescContainer
Added FActorDescContainerCollection which can contains multiple UActorDescContainer
ActorDescContainer can be created to load ExternalFolder in various places for a world partition
WorldPartition no longer inherits UActorDescContainer and now inherits FActorDescContainerCollection
ActorsDesc are added to the right container on save based on their packagepath
HLODs generation only occurs on the Main WorldPartition Actors for the moment
Some WorldPartitionBuilders commandlets do not support having WorldPartitions with multiple ACtorDescContainer. In that case, the commandlet fails and outputs an error message.

#test cook AncientGame, cook city_sample, cook asteria_terrain, HLods generation on AncientGame, Level Instances workflow
#rb jeanfrancois.dube
#preflight 630ce860a416f6df25b74655

[CL 21691284 by philippe deseve in ue5-main branch]
2022-08-29 18:44:52 -04:00
jeanfrancois dube
e7d2f6e1a5 Always show a progres dialog when validating assets to save, even if the requested settings wants to hide the resulting dialog if there's no validation errors, as this process can take some time and result in no errors in the end, showing no progress to the user.
#rb richard.malo
#preflight none
#rnx

[CL 21549714 by jeanfrancois dube in ue5-main branch]
2022-08-24 15:41:48 -04:00
jeanfrancois dube
6f963fe5fb World Partition Validations: implemented new error checks for level instances (invalid world asset, world asset not using external actors, incompatible world asset, etc).
#rb patrick.enfedaque
#preflight 62fe4a29f7404b55a3f7d306
#rnx

[CL 21467542 by jeanfrancois dube in ue5-main branch]
2022-08-19 19:16:23 -04:00
jeanfrancois dube
32e017b93b Changelist Validator: fix crash when validating an unloaded actor (its class could also be unloaded), by retrieving the actor's native class from the actor descriptor data if possible.
#rb patrick.enfedaque
#preflight 62f408ad466f8c150dbad27f
#rnx

#ROBOMERGE-AUTHOR: jeanfrancois.dube
#ROBOMERGE-SOURCE: CL 21329435 via CL 21329458 via CL 21329478
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21330367 by jeanfrancois dube in ue5-main branch]
2022-08-10 19:58:22 -04:00
jeanfrancois dube
47a5835a7a Changelist Validation: fix crash when encountering an invalid asset class.
#rb richard.malo
#preflight none
#rnx

#ROBOMERGE-AUTHOR: jeanfrancois.dube
#ROBOMERGE-SOURCE: CL 21283094 via CL 21283122 via CL 21283135
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21289088 by jeanfrancois dube in ue5-main branch]
2022-08-09 11:32:07 -04:00