I’m reading the UE4 wiki for the Derived Data Cache (Derived Data Cache | Unreal Engine Documentation) but I just can’t seem to wrap my head around it. If I understand right, instead of using .uasset files the engine “stores” assets “externally” in some other format used by the engine? What format does it store them in, and where? How, and why?
“What format does it store them in, and where? How, and why?”
Depends on the asset, and platform type. In the DDC file per-project. Programatically/procedurally. To reduce load and cook times by avoiding doing redundant work each run.
For example sound files are likely required to be in different formats for different platforms. It takes the src data in the uasset and converts it to the needed formats required for the different platforms the engine supports.
It is also not simply platform specific formats, it additionally stores data required by the uncooked game/editor, the most obvious example of this is compiled shaders. Global shaders and materials need to have shaders compiled for them before they can be rendered so to avoid having to do that every run, the compiled shaders are cached into the DDC from which they can be loaded from on the next run.