What's the difference between cooked data and the derived data cache?

The derived data cache page states “The Derived Data Cache (DDC) stores versions of assets in the formats used by the engine and its target platforms, as opposed to the source formats artists create that are imported into the editor and stored in .uasset files.”

The content cooking page states “Unreal Engine stores content assets in particular formats which it uses internally, such as PNG for texture data or WAV for audio[…] The process of converting content from the internal format to the platform-specific format is referred to as cooking”

These both sound very similar, but content gets stored in two different places (Game\DerivedDataCache and Game\Saved\Cooked) with different layouts…

  • What’s the difference and how do these two processes relate to each other?
  • Will cooking take data from the DDC if it’s there, or does it always ignore that and go straight to the source assets?
  • Will the DDC take cooked data if it’s there?
  • Will a cook process with a primed DDC be faster than a cook with an empty DDC?

Did you ever find an answer on this? Was wondering about it myself also.

Particularly is a cooked version a more optimized version of the assets in a DDC?

No I’m afraid not, haven’t learned much new about it. I know the DDC is stored in a version-agnostic format and should be transferable from one build to the next, but don’t think you can use DDC content directly, it’s just a base for cooking from. Not 100% sure on this, but that’s how I think it is.

the DDC is a cache. All the processes in unreal (editor / cooking), all check the DDC for the required content.
Cooking is the process of gathering all the required content for that platform (getting stuff from the DDC and combining it with the uasset and uobject data) then saving it for that platform.
Hence the DDC is not required for cooked platforms as the cooked content contains the data which would have been in the DDC.
The cooking process is also responsible for various other miscellaneous tasks like stripping out editor only content.

Hope this answers all your questions

1 Like

So for clarification: does the DDC essentially just make it faster for UE4 to gather the “required data” when cooking (ie. Reducing build time?) And is this it’s only function?