MultiProcess Cook reporting Content is missing from cook on Chooser Table Animations

Hello!

My team has recently started experimenting with Multiprocess Cooking. It has the potential to significantly speed up our cook times, since cooks take upwards of 6 hours for some of our devs, and multiprocess can get that under 2.

However, we’re seeing inconsistent cook failures from these devs. Namely, the cook will spit out “Missing From Cook” on assets that cook just fine if you use a single-process cook with the exact same assets and configuration. There’s a few variations of this error we’re seeing; some users report missing OFPA content from our main level, others missing actors. But the most common one and the best one to start with is, our Chooser Tables full of combat animations almost always fail to cook with Multiprocess Cook. For example, I see dozens of failures of this sort, one for each entry in our table:

LogInit: Display: LogCook: Error: Content is missing from cook. Source package referenced an object in target package but the target package was marked NeverCook or is not cookable for the target platform.
        Source package: /Game/Animation/Choosers/<character_name>/Death/CT_Death_<character_name>
        Target package: /Game/Animation/Anims/<character_name>/Death/Montages/<character_name>_Death_FromBack_Impact_Head_Montage
        Referenced object: /Game/Animation/Anims/<character_name>/Death/Montages/<character_name>_Death_FromBack_Impact_Head_Montage

I have recooked the exact same changeset with a single process cook, and it succeeded. I am forced to assume there is some cook context being lost when cross the boundary of threads?

Any guidance would be appreciated. Thank you!

[Attachment Removed]

Steps to Reproduce
Create Project

Populate Chooser table point to animations

Enabled Multiprocess Cook using some reasonable number of threads (3 is sufficient)

Attempt to Cook

Observer Cook failing with all referenced animations being “missing from cook”

[Attachment Removed]

This may be related to ChooserTable runtime dependencies being incorrect.

To prevent assets from disabled rows from ending up in cooked builds, the results are in an editor only array, which is copied into a runtime array during cook.

However, as the dependency hierarchy is computed before this process, there have been some cook issues.

To fix the issue, the cooked data array is now populated on save and serialized.

Change was made in UE5-Main cl 48981881, and will require assets to be re-saved.

[Attachment Removed]

I would start a new question… that one looks like it could be vfx system related or something

[Attachment Removed]

Great, that does seem to fix the issue! Thank you!

Unfortunately, we are getting another issue, which may be of a similar root cause. We are getting failures to resolve seemingly random, unrelated WP external actors from multiprocess cook attempts which do not occur on single-threaded attempts, e.g.:

`LogOutputDevice: Error: [CookWorker 0]: Failed to find actor ‘DecalActor_UAID_BCFCE73D664965C802_1442052792’ in package ‘/Game/__ExternalActors__/<asset_path>/0/51/NO9TBPDCW9K2K5YFK2JCNO’.`

Do you think this is related, or should I start a new question for it?

[Attachment Removed]