The Asset Audit window uses the content browser to display information about both real assets and fake assets like chunk definitions. When you hit the Add Chunks button, it adds several fake assets with paths like /Temp/PrimaryAsset/PackageChunk.Chunk_0 and /Temp/PrimaryAsset/PackageChunk.Chunk_1. Due to an optimization that is only present in 4.25, they get put into a FAssetDataSet which uses FAssetDataKeyFuncs::Matches. This function only uses the display index and not the number attacked to the FName, so it erroneously thinks these are the same asset.

This code was refactored in 4.26 and does not appear to get activated in this specific case, but the broken code is still around so should be fixed/removed. The hotfix-safe change is to set the Matches function to "return A.GetDisplayIndex() == B.GetDisplayIndex() && A.GetNumber() == B.GetNumber();" but I don't know if this key func structure makes sense instead of just using one of the existing fast FName compares.

Steps to Reproduce
  1. Compile and load ShooterGame sample
  2. Open Asset Audit window from Window->Developer Tools
  3. Click "Add Chunks". This should add Chunk_0, Chunk_1, and Chunk_2 but on 4.25 it only shows Chunk_0
  4. If nothing shows up, you may need to hit Refresh in that window and try add chunks again

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-96481 in the post.

Login to Vote

ComponentUE - Editor - Framework - Content Browser
Affects Versions4.25
Target Fix4.25.4
Fix Commit14067311
Release Commit14067311
CreatedAug 5, 2020
ResolvedAug 10, 2020
UpdatedJan 12, 2021