Packaging
Build & Export compiles the game's scripts, cooks its content, gathers the player and its runtimes, audits the result and writes a folder and a ZIP you can hand to players.
From the editor
Open File › Build & Export.... Save the project and scene first, choose the configuration and the output folder, then Build Gameplay & Export: it compiles the scripts, cooks the content and builds the package. Export Prebuilt packages existing script builds instead. Both save the export profile first; Save Profile saves it alone. Cancel Export stops at the next safe point; Open Output and Run Export appear when a job succeeds.
From a script or build machine
--build-scripts publishes the scripts with the pinned .NET SDK; without it the packager uses the existing script build. An export error names any missing prerequisite.
PowerShell
build\bin\Release\KroysGamePackager.exe ` --project "C:\Games\MyGame\MyGame.kproject" ` --output "C:\Games\MyGame\Build\Windows" ` --profile Development --platform windows-x64 --configuration Release --build-scripts
What ships
- Content: what the startup scene reaches, cooked (Cooking), plus the project settings and the input map. Source-only files (C# sources, project files, editor state) are removed.
- Gameplay: the built script assembly and every library it references, without symbols.
- Binaries: the player and the DLLs it needs, engine shaders as SPIR-V, the managed engine runtime and the pinned .NET runtime. Players do not install .NET.
- Plugins: the runtime part of every enabled plugin; editor parts never ship.
A compatible Vulkan driver is the only requirement on the player's machine.
The audit
Before anything is written, the package is audited: every file must belong in the layout, no source-only file or .pdb may be in it, and no file may contain a path from the developer's machine (the repository, project, build folder, SDK or user profile, in any spelling). Any finding fails the export.
The outputs
- The package folder with
PackageManifest.json(versions, every file with size and hash). <Folder>.zip, with fixed time stamps: unchanged input gives a byte-identical ZIP.<Folder>.report.json: sizes per category, the largest files, unreachable assets skipped, sources removed and warnings.- With
--symbols,<Folder>.symbols.zipfor debugging crash reports.
The export uses the project's settings, such as Project Settings › Invert Mouse Look. Changing the shipped .kproject changes them without a new export.
KroysEngine 0.1.0 documentation, built from the engine repository by Tools/BuildDocsSite.py.