Priority note: 3 licensees requested so far
Fortnite and some licensees have requested this feature, but it is a nice to have and has not yet been high enough priority to implement.
Many teams rely on Primary Asset Labels to determine what gets cooked and into which chunk. The decisions for which chunks assets can be put into can become quite complicated, and the id for each chunk is an integer. On large projects this necessitates some shared document recording the mapping from content to chunk. This would be less necessary if we could label the chunks.
Implement a field in PrimaryAssets that specifies an alphanumeric label for the chunk. If multiple conflicting labels contribute to the same chunk, give a warning and pick one arbitrarily. Name the pakfile based on the label rather than the integer chunkid.
Estimate and notes:
02hr Add label to PrimaryAsset.
04hr Add calculation of the label for a chunk based on the PrimaryAssets using that chunk (error out if there is a conflict)
06hr Change FAssetRegistryGenerator to read the label from the AssetManager and write it into the manifest.
16hr Change CopyBuildToStagingDirectory.cs to read the label from the manifest and use it to name the file.
08hr Fix edge case bugs when they come up.
36hr Total: 4.5 days
Notes:
Shaders assume chuckids are ints. Plan is to keep the authoritative id of a chunk as an integer, and carry around the mapping from integer to label (as a field in the chunk's manifest).
The reason the exploratory work stalled was dealing with how to appropriately upgrade licensee data.
The exploratory work done so far:
[Link Removed]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-197235 in the post.
13 |
Component | UE - Foundation - Core - Cooker |
---|---|
Target Fix | 5.6 |
Created | Oct 5, 2023 |
---|---|
Updated | Oct 18, 2024 |