Cooking
The cooker turns a project's Content folder into what the player reads: binary scenes, cached models, compiled materials and compressed textures. It is incremental, cached, parallel and deterministic.
Run it
The packager cooks for you. To cook on its own:
| Option | Meaning |
|---|---|
--output, --ddc | Where cooked files and the derived-data cache go (defaults under <Project>/Build/Cooked) |
--clean | Cook everything again |
--all, --include <path> | Cook everything, or add content the startup scene does not reach |
--no-texture-compression, --max-texture-size | Texture settings for quick iterations |
--jobs, --verbose | Parallel jobs; list every file |
The summary reports what was cooked, taken from the cache, up to date, failed, removed and not reachable, and lists what was left out. The exit code is 0 on success and 1 when anything failed.
PowerShell
kroys-cook MyGame.kproject --platform win64 kroys-cook MyGame.kproject --clean --verbose
What it produces
| Source | Cooked |
|---|---|
| Scenes, prefabs, effects | Binary scenes |
| Models (FBX, glTF) | The derived model cache with the compiled shaders of its materials |
| Materials | Material text with compiled SPIR-V and packed parameters |
| Textures | BC7 or BC5 with a mip chain; UI images and HDR images stay uncompressed |
| Everything else | Copied as it is |
Cooked files keep their paths under Content, so GUIDs, sidecars and path lookups keep working.
Only what is used
The cook starts at the startup scene and follows references: what nothing reaches is left out and listed. Add paths that are loaded by name at run time with --include, or in the export profile.
Incremental and repeatable
Every unit has a key from its source and settings. Unchanged units come from the cache in Build/Cooked/DDC; outputs whose source is gone are removed. The same input always gives the same bytes, so builds can be compared and cached.
KroysEngine 0.1.0 documentation, built from the engine repository by Tools/BuildDocsSite.py.