Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Build and hand off

Lives in: author player → F12 → Build

Turn the open project into a folder (or install file) you can give to players. Player builds do not include the author overlay or F1–F12 author shortcuts.

Overlay tabs and prefs: Author tools.

Before you build

  1. Set identity in game.json — title, version, optional icon / splash / android — Title, icon, splash · Platforms
  2. Press F12 → Validation and fix errors
  3. Play through critical paths once

Build tab

  1. Choose Target (self / linux / windows / macos / web / Android APK / Android Play — whatever your author kit ships).
  2. Choose Mode: pck (default) or folder where offered. Web and Android always use pck (Android embeds the pack inside the APK/AAB).
  3. Set an output folder (absolute path), or Use CWD / Pick….
  4. Leave Filter unused assets and Run prebuild checks on unless you have a reason not to.
  5. For Android Play (AAB): set signing fields (release keystore). For Android APK (itch/sideload), signing can stay empty — Build uses a debug keystore automatically. Install JDK 17 or 21 so java works on PATH; the Build tab warns if it is missing.
  6. Press Run Build.
  7. Use Open Folder, Copy Path, or Copy Log as needed.

Output lands in {game-slug}-{platform}-v{version}/ under the path you chose (title and version come from game.json). That folder is flat: player binary + game data side by side. Building again to the same name replaces the folder, so you never end up with both data.pck and assets/ from two modes.

Prefs are remembered in vn-mikro-debug.cfg next to the player.

What to give players

Give players the build folder contents except BUILD_INFO.json. That file is an author working receipt (kit version, mode, paths) — leave it out of zips, itch uploads, and store packages.

In the build folderShip to players?
Player binary (.exe / binary / {slug}.app / web shell)Yes — named from game.json → title (slug). macOS Finder label uses the title
{slug}.apk or {slug}.aab (Android)Yes — one file; game data is already inside
data.pck or assets/Yes (desktop/web; not left beside Android APK/AAB after a successful stamp)
Linux icons/ + .desktop (Linux builds)Yes
Leftover macOS player zip / extensionless zip copyNo — Build removes it after expanding {slug}.app
BUILD_INFO.jsonNo — author-only working file
ModeResult
pck (default)Player binary + a packed data.pck (game data in one file)
folderPlayer binary + an assets/ tree (readable files next to the exe)

Web: copies the kit’s web shell into the build folder and always writes sibling data.pck. Serve that folder over HTTP (not file://). Splash / favicon: Title, icon, splash. Omit BUILD_INFO.json when you upload the web folder too.

Android: needs game.json → android (package_id, optional version_code) and JDK 17 or 21 with java on PATH — Platforms. APK (itch/direct) can omit Build signing prefs (debug-signed). Play AAB needs your release keystore in prefs. Two targets write separate folders (…-android-v… and …-android-play-v…). Keystore passwords stay in local prefs — do not commit them with the story.

Filter and checks

Prebuild checks fail early if there is no story (script.txt or story.json) or other required pieces are missing.

Filter unused assets (on by default) keeps known runtime folders (themes/, story/, characters/, audio/, backgrounds/, sprites/, animations/, shaders/, ui/, fonts/, extensions/) plus root config JSON and any folder that holds a declared native extension entry. It is not a full “referenced file” scan — turn the filter off if something you need is still getting skipped.

A successful build is a player package: no debug overlay, no project picker, no author F-keys. Players run the binary; they do not edit your source folder.

Usually you need

WantDo
Desktop demoBuild your OS → zip folder minus BUILD_INFO.json
itch webBuild web
Sideload AndroidBuild Android APK (JDK on PATH)
Play ConsoleBuild Android Play + keystore + bump version_code

Author tools · Title, icon, splash · Platforms · Native extensions · Runtime version