Packaging & Shipping¶
Sektor builds your project into a standalone game: a self-contained package that runs on the Player runtime with no editor, no source checkout, and no development tools. The same operation is one click in Studio and one command for AI or a build pipeline.
Build Game¶
Studio's Platforms & Packaging page (and the File menu) invoke a cancellable background build. Under the hood, project.build.start does the work, and it is deliberately paranoid:
- Compatibility preflight. Before anything is staged, an engine-owned report enumerates every component in your project with an explicit supported or unsupported disposition, and validates Project Settings, the gameplay Camera, startup scene, Primary Event Sheet references, Event structure, scripts, asset bindings, audio, animation, and navigation sources. A broken reference fails the build with a named reason, not a black window on a player's machine.
- Runtime projection. The builder writes pruned runtime documents: editor-only state like Prefab links and layer lock flags is stripped, gameplay identity is preserved.
- Staging. Your project ships with the Player executable and the required runtime DLLs.
- Manifest. A
sektor.game-package/v1manifest records a SHA-256 hash for every file. The build replaces only a package it owns, atomically.
The standalone Player¶
A packaged game runs on SektorPlayer: game window, fixed-tick simulation, renderer, input, audio, physics, navigation, and UI, with zero editor code. It honors your product title, window and fullscreen settings, startup scene, default Camera, and frame pacing. Runtime failures surface as player-readable diagnostics and non-zero exit codes, never silent black screens.
Two details players will never notice but you should know:
- The executable can be renamed freely; it resolves its manifest beside itself.
- Player saves land in per-user storage identified by the package, so two Sektor games never fight over save files.
Because the Player advances the same deterministic fixed step as Play mode, a shipped build behaves exactly like the editor did, provably: automated evidence replays inputs in both and compares authoritative state hashes.
Recipe: from project to zip¶
- Set the startup scene, gameplay Camera, and Primary Event Sheet in Project Settings.
- Choose Build Game. Fix anything the preflight names, and build again.
- Test the package: run the renamed executable from a different folder, play, save, quit, reload.
- Zip the output folder and hand it to a playtester. They need Windows and a DX12 GPU, nothing else.
Automate it¶
{"op":"project.build.start"}
The same preflight report is returned to AI clients, so an automated pipeline can gate releases on "the package is provably coherent" instead of "the build did not crash."
Still ahead
Production cooking and compression, package-time navmesh cooking, patching, and installer polish are the remaining production layers. The current package format is already hash-verified and clean-machine tested.