AssetRegistry.bin is not deterministically cooked.
NativeLibraries is turned off because .ushaderbytecode has a non-deterministic issue in [Link Removed]. And there is a similar issue with UE5 in [Link Removed].
Workaround:
\Engine\Source\Editor\UnrealEd\Private\Commandlets\AssetRegistryGenerator.cpp (Line:1254) void FAssetRegistryGenerator::AddAssetToFileOrderRecursive(const FName& InPackageName, TArray<FName>& OutFileOrder, TSet<FName>& OutEncounteredNames, const TSet<FName>& InPackageNameSet, const TSet<FName>& InTopLevelAssets) { if (!OutEncounteredNames.Contains(InPackageName)) { OutEncounteredNames.Add(InPackageName); TArray<FName> Dependencies; AssetRegistry.GetDependencies(InPackageName, Dependencies, UE::AssetRegistry::EDependencyCategory::Package, UE::AssetRegistry::EDependencyQuery::Hard); // add_start Dependencies.Sort([](const FName& A, const FName& B) { return A.Compare(B) < 0; }); // add_end
\Engine\Source\Editor\UnrealEd\Private\Commandlets\AssetRegistryGenerator.cpp (Line:1497)
FString CookerFileOrderString; FString CookerFileOrderString;
{
TArray<FName> TopLevelMapPackageNames;
TArray<FName> TopLevelPackageNames;
// add_start
PackageNameSet.Sort([](const FName& A, const FName& B) { return A.Compare(B) < 0; });
// add_end
for (FName PackageName : PackageNameSet)
{
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-145162 in the post.
| 0 |
| Component | UE - Foundation - Data Pipeline - Cooker |
|---|---|
| Affects Versions | 4.27 |
| Target Fix | 5.1 |
| Created | Mar 8, 2022 |
|---|---|
| Resolved | Mar 9, 2022 |
| Updated | Mar 17, 2022 |