"cook everything" option fails in 4.9?

Hello,

I am loading all my assets dynamically in code and hence they are not cooked by default when packaging.

So i checked the “cook everything” box in the packaging options.

56821-cook_everything.jpg

It worked very well previously (4.7, 4.8) and fails in 4.9.

My packaged game in 4.9 is very small and i can’t access any asset from it.

Everything works well in PIE, the problem only occurs in packaged game.

So i guess nothing is cooked any longer, despite the “cook everything” being still checked.

Is there any new option that i should know about or is it a real problem ?

Thanks

Hey ,

Could you please provide me with the error you’re receiving, please make sure to upload them as a .txt file to your next reply. Is this option causing you to fail on every single project template too?

I selected this option and packaged my project for Windows and did not run into any trouble.

Looking forward to hearing back from you, thanks!

Hey ,

Testing on project templates will take a bit more time so i’ll report later, but in the mean time, here a full log of a 4.9 packaging (where cooking failed).

Cheers

[link text][1]

56868-yag.log (1.16 MB)

Hey

Here are some of the errors I am seeing that may be causing your cooking process to fail. Could you please look over these files and ensure that they’re correctly placed in your project?

[2015.09.02-20.09.37:090][494]MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2015.09.02-20.09.37:083][  0]LogInit:Display: LogMaterial:Warning: Failed to compile Material /Game/stage/M_Rock_Marble_Polished.M_Rock_Marble_Polished for platform PCD3D_SM5, Default Material will be used in game.

[2015.09.02-20.09.37:091][494]MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2015.09.02-20.09.37:084][  0]LogInit:Display: LogMaterial:Warning: 	(Node TextureSample) TextureSample> Missing input texture

[2015.09.02-20.09.37:091][494]MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2015.09.02-20.09.37:084][  0]LogInit:Display: LogMaterial:Warning: Failed to compile Material /Game/stage/M_Rock_Marble_Polished.M_Rock_Marble_Polished for platform PCD3D_SM4, Default Material will be used in game.

[2015.09.02-20.09.37:091][494]MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2015.09.02-20.09.37:084][  0]LogInit:Display: LogSkinnedMeshComp:Warning: GetSocketByName(): No SkeletalMesh for 3D Skeletal Object

[2015.09.02-20.09.37:092][494]MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2015.09.02-20.09.37:085][  0]LogInit:Display: LogMaterial:Warning: Failed to compile Material /Game/pen/M_Rock_Marble_Polished.M_Rock_Marble_Polished for platform PCD3D_SM5, Default Material will be used in game.

[2015.09.02-20.09.37:092][494]MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2015.09.02-20.09.37:085][  0]LogInit:Display: LogMaterial:Warning: Failed to compile Material /Game/pen/M_Rock_Marble_Polished.M_Rock_Marble_Polished for platform PCD3D_SM4, Default Material will be used in game.

[2015.09.02-20.09.37:092][494]MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2015.09.02-20.09.37:085][  0]LogInit:Display: LogMaterial:Warning: Failed to compile Material /Game/pen/M_Metal_Gold.M_Metal_Gold for platform PCD3D_SM5, Default Material will be used in game.

[2015.09.02-20.09.37:092][494]MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2015.09.02-20.09.37:086][  0]LogInit:Display: LogMaterial:Warning: Failed to compile Material /Game/pen/M_Metal_Gold.M_Metal_Gold for platform PCD3D_SM4, Default Material will be used in game.

[2015.09.02-20.09.37:093][494]MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2015.09.02-20.09.37:086][  0]LogInit:Display: LogLinker:Warning: Asset '../../../Engine/Plugins/Runtime/LeapMotionController/Content/LM_PassthroughMaterial.uasset' has been saved with empty engine version. The asset will be loaded but may be incompatible.

[2015.09.02-20.09.37:093][494]MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2015.09.02-20.09.37:086][  0]LogInit:Display: LogUObjectGlobals:Warning: Failed to find object 'Object /Engine/Tutorial/SubEditors/PersonaAnimEditorTutorial.PersonaAnimEditorTutorial_C'

[2015.09.02-20.09.37:093][494]MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2015.09.02-20.09.37:086][  0]LogInit:Display: LogLinker:Warning: Can't find file '/Game/DicePack/DiceMesh/Rin_DicePack_D4'

[2015.09.02-20.09.37:094][494]MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2015.09.02-20.09.37:086][  0]LogInit:Display: LogUObjectGlobals:Warning: Failed to load '/Game/DicePack/DiceMesh/Rin_DicePack_D4': Can't find file '/Game/DicePack/DiceMesh/Rin_DicePack_D4'

[2015.09.02-20.09.37:094][494]MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2015.09.02-20.09.37:087][  0]LogInit:Display: LogUObjectGlobals:Warning: Failed to find object 'Object /Game/DicePack/DiceMesh/Rin_DicePack_D4.Rin_DicePack_D4'

Hey ,

I did suppress those unused objects but it didn’t change anything.

Then, i cleaned everything and asked the editor only to cook the content for windows (no packaging, just cooking).

The contain this line:

[2015.09.04-06.24.41:893][ 40]MainFrameActions: Cooking (Windows): ProjectParams.ValidateAndLog: CookAll=False

Which looks strange, as the checkbox is checked:

57117-cookallcheckbox.jpg

I did the same test on a brand new 4.9 project and got the same result, here are the repro steps:

  • create a new 4.9 project (blueprint/blank)
  • check the “cook everything” checkbox in packaging options
  • run a “cook content for windows”
  • look for “CookAll=false” in the

It look strange, but i am not sure this CookAll variable is related to the “cook everything” checkbox.

Do you know if this could be the right direction for our problem ?

Thanks

Hey ,

Just a PS to my previous comment.

I found the bCookAll variable corresponding to the “cook everything” ckeckbox in the DefaultGame.ini file.

It is correctly updated when checking/unchecking the checkbox:

Now the only question remaining is whether or not this bCookAll variable is related to the CookAll parameter found in the which seems to remain to false whatever the bCookAll value.

Thanks

Hey,

This function should be working within the editor however, I have submitted a request to receive additional information from our Developers. With that being said, we may not reply before next Tuesday due to the holiday.

Thank you!

Hi !

To sum up:

  • the “cook everything” checkbox seems to be working, as the DefaultGame.ini file is updated correctly

  • but it also seems that the file is not read correctly by the editor, as the CookAll parameter remains false whatever the value of the bCookAll variable in the file

If those two variables are related, then we’ve got our bug, and there is probably somewhere in the code a “CookAll = false” that should be replaced with “CookAll = bCookAll”.

If they are not related, then we’ll probably have to investigate the origin of the “CookAll=false” line in the .

To be continued !

Have a nice holiday,

Hey ,

I’ve requested additional information from our Developers again today, as a reminder. I hope to hear more soon for you!

Thanks for the patience!

In MainFrameActions.cpp if the packaging settings are set to cook everything (PackagingSettings->bCookAll). It will then pass the -cookall commandline option to UAT.
When UAT is run it will set the ProjectParam.CookAll flag.
In CookCommand.cs, Params.CookAll should be set and then that should pass through to the cookcommandlet.
That should set bCookAll while cooking.
There is a long chain of cookAll settings but they appear to be working correctly locally.
Is this while using file → package from the editor?

Hey MrFred,

Yes, using “file/package” or “file/cook content” from the editor.

On my computer, this can be reproduced with a new 4.9 project.

Check the “cook everything checkbox”, then ask for cooking or packaging, then see the , cookall is always false.

HI ,
Would you mind posting the log so I can figure out where the cook all flag is lost?
Thanks

Hey MrFred,

Here are the and the steps i followed to obtain them:

  • create a new 3rd person blueprint project (named cookProject)

  • check the “cook everything” box in the packaging options

  • file/cook content for windows

The enclosed file was the only one in Documents\Unreal Projects\cookProject\Saved, i checked that it contains the “cookall=false” line.

Hope this helps.

[link text][1]

57941-cookproject.log (239 KB)

Hi,

I was unable to reproduce this issue using File->Package however File-> Cook was broken.
Fixed in Main cl 2686642

Hi,

4.9.1 installed, some changes but still not work:

  • file->package => cookall=true but no cooking is done

  • file->cook content => cookall=false

I enclose the , please let me know if you need any more info.

Thanks

[link text][1]

58765-yag.log (1.63 MB)

Hey

We’re investigating your issue at this time. I have found that there is a CookAll=True and a CookAll=False in your latest log. We will contact you back as soon as we have additional information, thanks! :slight_smile:

I also can confirm issue in 4.9.1

With flag set in log I still see

LogPlayLevel: ProjectParams.ValidateAndLog: CookAll=False

Hey,

Here is the [GitHub commit][1] for this specific issue as resolved. This will not work on Binary builds, only Source builds.

Thanks!

https://github.com/EpicGames/UnrealEngine/commit/3dfca1d77f098b07c23b0b929911a335bf122e50

is this issue solved ?
.bCookAll flag useless for CookCommandlet. no effect .

any guidance?

This has been resolved for our source builds. If you find there is a problem with our binary version, you’ll need to submit a new AnswerHub thread in and link back to this one as reference. Please remember to provide as much information as possible.

Thanks!