Commit Graph

29 Commits

Author SHA1 Message Date
robert manuszewski
d1443992e1 Deprecating ANY_PACKAGE.
This change consists of multiple changes:

Core:
- Deprecation of ANY_PACKAGE macro. Added ANY_PACKAGE_DEPRECATED macro which can still be used for backwards compatibility purposes (only used in CoreUObject)
- Deprecation of StaticFindObjectFast* functions that take bAnyPackage parameter
- Added UStruct::GetStructPathName function that returns FTopLevelAssetPath representing the path name (package + object FName, super quick compared to UObject::GetPathName) + wrapper UClass::GetClassPathName to make it look better when used with UClasses
- Added (Static)FindFirstObject* functions that find a first object given its Name (no Outer). These functions are used in places I consider valid to do global UObject (UClass) lookups like parsing command line parameters / checking for unique object names
- Added static UClass::TryFindType function which serves a similar purpose as FindFirstObject however it's going to throw a warning (with a callstack / maybe ensure in the future?) if short class name is provided. This function is used  in places that used to use short class names but now should have been converted to use path names to catch any potential regressions and or edge cases I missed.
- Added static UClass::TryConvertShortNameToPathName utility function
- Added static UClass::TryFixShortClassNameExportPath utility function
- Object text export paths will now also include class path (Texture2D'/Game/Textures/Grass.Grass' -> /Script/Engine.Texture2D'/Game/Textures/Grass.Grass')
- All places that manually generated object export paths for objects will now use FObjectPropertyBase::GetExportPath
- Added a new startup test that checks for short type names in UClass/FProperty MetaData values

AssetRegistry:
- Deprecated any member variables (FAssetData / FARFilter) or functions that use FNames to represent class names and replaced them with FTopLevelAssetPath
- Added new member variables and new function overloads that use FTopLevelAssetPath to represent class names
- This also applies to a few other modules' APIs to match AssetRegistry changes

Everything else:
- Updated code that used ANY_PACKAGE (depending on the use case) to use FindObject(nullptr, PathToObject), UClass::TryFindType (used when path name is expected, warns if it's a short name) or FindFirstObject (usually for finding types based on user input but there's been a few legitimate use cases not related to user input)
- Updated code that used AssetRegistry API to use FTopLevelAssetPaths and USomeClass::StaticClass()->GetClassPathName() instead of GetFName()
- Updated meta data and hardcoded FindObject(ANY_PACKAGE, "EEnumNameOrClassName") calls to use path names

#jira UE-99463
#rb many.people
[FYI] Marcus.Wassmer
#preflight 629248ec2256738f75de9b32

#codereviewnumbers 20320742, 20320791, 20320799, 20320756, 20320809, 20320830, 20320840, 20320846, 20320851, 20320863, 20320780, 20320765, 20320876, 20320786

#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20430220 via CL 20433854 via CL 20435474 via CL 20435484
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20448496 by robert manuszewski in ue5-main branch]
2022-06-01 03:46:59 -04:00
Matt Peters
75c591648c DevelopmentAssetRegistry.bin: Reduce duplication by making a function to return this string.
#rb Per.Larsson
#rnx

[CL 17506665 by Matt Peters in ue5-main branch]
2021-09-14 13:30:20 -04:00
Marc Audy
01b7c9f4f5 Merge UE5/RES @ 15958325 to UE5/Main
This represents UE4/Main @ 15913390 and Dev-PerfTest @ 15913304

[CL 15958515 by Marc Audy in ue5-main branch]
2021-04-08 14:32:07 -04:00
Marc Audy
bc88b73a29 Merge Release-Engine-Staging to Main @ CL# 15151250
Represents UE4/Main @ 15133763

[CL 15158774 by Marc Audy in ue5-main branch]
2021-01-21 16:22:06 -04:00
Marc Audy
ada7c144fa Merge //UE5/Release-Engine-Staging @14903491 to //UE5/Main
[CL 14906022 by Marc Audy in ue5-main branch]
2020-12-11 14:21:20 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
william ewen
b85b16b227 AssetRegistryDiff: Bumping the "Unable to find class name" to a normal log line instead of a warning
#ROBOMERGE-SOURCE: CL 13131310 via CL 13131312 via CL 13131321
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v687-13115495)

[CL 13131332 by william ewen in Main branch]
2020-04-30 17:12:45 -04:00
mihnea balta
9bbafae992 Fixed incorrectly reported non-determinism in DiffAssetRegistries.
If an asset's dependencies change, the asset itself can be unaffected, but assets which reference it can change. Therefore, we shouldn't stop propagating dependency change flags just because an asset doesn't have the GuidChange or HashChange flags. A common example is when material instance A references material instance B, which in turn references material M. If M changes, it's possible that B stays the same, but A can still change; A was incorrectly reported as non-deterministic in this case.

#rb Daniel.Lamb, Ben.Ingram


#ROBOMERGE-SOURCE: CL 11243456 via CL 11243460 via CL 11243462
#ROBOMERGE-BOT: (v644-11213502)

[CL 11243463 by mihnea balta in Main branch]
2020-02-05 01:43:59 -05:00
william ewen
0350d9bbed PatchDiff: Updating AssetRegistryDiff tool to include class-by-class breakdowns of the nondeterminism detected
#rb Ben.Salem


#ROBOMERGE-SOURCE: CL 11034592 via CL 11034596
#ROBOMERGE-BOT: (v633-10983880)

[CL 11034600 by william ewen in Main branch]
2020-01-16 15:27:50 -05:00
ryan durand
627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -05:00
william ewen
ad0a3792fc AssetRegistryDiff: Downgrading log warning to message when an asset has multiple chunkIDs
#ROBOMERGE-SOURCE: CL 10460469 via CL 10460472
#ROBOMERGE-BOT: (v595-10452236)

[CL 10460475 by william ewen in Main branch]
2019-11-26 15:29:40 -05:00
daniel lamb
21cc5bf5ce SkelMesh preflight test.
#ROBOMERGE-SOURCE: CL 7454304 via CL 7463014
#ROBOMERGE-BOT: (v371-7306989)

[CL 7463163 by daniel lamb in Main branch]
2019-07-19 16:11:13 -04:00
Ben Marsh
0cc6e3dca6 Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
#rb none
#rnx

[CL 6631504 by Ben Marsh in Main branch]
2019-05-24 11:51:54 -04:00
william ewen
06c6f42559 Clarify the failure logging in DiffAssetRegistriesCommandlet to properly indicate whether an old/newpath parameter has not ben provided, or if the path provided failed to resolve properly to an AssetRegistry.bin file. Prior to this CL, both cases would give an error indicating the former.
#ROBOMERGE-SOURCE: CL 6538838 via CL 6539847

[CL 6539973 by william ewen in Main branch]
2019-05-16 16:58:39 -04:00
william ewen
70d851e86c Fixing usage of RegexBranchCL in DiffAssetRegistryCommandlet to parse the Branch+CL out from the NewPath param when we pass one that includes them
#rb Daniel.Lamb


#ROBOMERGE-SOURCE: CL 5810816 via CL 5814106

[CL 5814169 by william ewen in Main branch]
2019-04-09 17:17:20 -04:00
daniel lamb
451950bafd Added chunkid to each asset which changes in the diffassetregistries commandlet.
[FYI] Will.Ewan


#ROBOMERGE-SOURCE: CL 5810010 via CL 5810364 via CL 5813345

[CL 5813466 by daniel lamb in Main branch]
2019-04-09 17:08:54 -04:00
daniel lamb
9557eab1ec Fixed up merge error in DiffAssetRegistriesCommandlet.
[FYI] Will.Ewen


#ROBOMERGE-SOURCE: CL 5767530 via CL 5767628 via CL 5768393 via CL 5770356

[CL 5770459 by daniel lamb in Main branch]
2019-04-05 19:55:54 -04:00
daniel lamb
758845403b added key information to the DiffAssetRegistriesCommandlet csv file so it's easier to use.
Moved some game specific settings into game config files.


#ROBOMERGE-SOURCE: CL 5566485 via CL 5566797 via CL 5570619

[CL 5570649 by daniel lamb in Main branch]
2019-03-26 19:24:16 -04:00
william ewen
84d2d21bc3 PatchDiff: Updating DiffAssetRegistriesCommandlet to include a chunk-by-chunk version of the class summary section in both the output log and in the CSV
Also, fixing a bug where the Branch&CL weren't parsing out of the input OldPath and NewPath values, so no Changelists were able to be parsed!
#rb Andrew.Grant
#rnx


#ROBOMERGE-SOURCE: CL 5554952 via CL 5556729

[CL 5556830 by william ewen in Main branch]
2019-03-26 12:50:40 -04:00
Ben Marsh
c09b6d7f18 Merge from //UE4/Main.
#rb none
#rnx

[CL 4701155 by Ben Marsh in Dev-Build branch]
2019-01-10 11:10:29 -05:00
Marc Audy
ab108c215e Copying to Dev-Main @ CL# 4688301
#rb
#rnx

[CL 4688816 by Marc Audy in Main branch]
2019-01-08 11:38:48 -05:00
Ben Marsh
530369c613 Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none
#rnx

[CL 4662695 by Ben Marsh in Dev-Build branch]
2018-12-14 14:49:12 -05:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
Ben Marsh
b0da1f4fe7 Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
#rb none

[CL 4577636 by Ben Marsh in Dev-Build branch]
2018-11-19 10:12:17 -05:00