Right now the AssetManager uses different logic in ModifyCook vs VerifyCanCook, specifically related to secondary assets like textures or maps that are indirectly loaded by soft object paths and are also managed by a PrimaryAssetLabel or other primary asset. VerifyCanCook checks the cook rule for the management hierarchy for every cooked asset, but ModifyCook only does this for assets that are either a Primary Asset themselves or are a secondary asset inside a bundle of a primary asset that does NOT have it's own asset package.
The ModifyCook logic is incorrect for secondary assets that exist in bundles of primary assets like labels that have a real asset package. The correct fix is probably to change ModifyCook to run the GetAssetBundleEntries logic even if GetPrimaryAssetData succeeds. It would then pass in the excluded assets to the PackagesToNeverCook list as users expect.
LogAssetManager: Error: Package /Engine/EngineMaterials/DefaultBloomKernel is set to NeverCook, but something is trying to cook it! Instigators: { StartupSoftObjectPath }
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-142198 in the post.
0 |
Component | UE - Foundation - Core - Cooker |
---|---|
Affects Versions | 4.27, 5.0 |
Target Fix | 5.1 |
Created | Feb 10, 2022 |
---|---|
Resolved | Feb 14, 2022 |
Updated | Jun 30, 2022 |