Shipping your game

Package Game turns your .blend into a standalone Windows game anyone can run — no Blender, no DarkRoast install.

Before you package

  1. Save your .blend. Sounds and textures are found relative to it.
  2. Open DarkRoast → Game and set the Game Title. It names the exe, the folder, and where saves go.
  3. Fullscreen (on by default): the game starts fullscreen at the monitor’s own resolution; untick it for a 1600×900 window. Players switch with F11 or Alt+Enter, or in the pause menu, and their choice is kept.
  4. Launcher (on by default): the game starts with a small window to Play, Play with Vulkan or Play in VR, so players never need the command line. They can tick Remember my choice; holding Shift as the game starts shows it again.
  5. Version and Update Feed, for updates (below). Leave Version empty to use the time you package (2026.10.24.2130).
  6. Switch to the scene the game should start in. The scene you’re viewing when you click Package Game becomes the first level.

Package it

  1. Click Package Game (in the main panel or the Game panel).
  2. Choose an output folder. Leave Also make a .zip ticked.
  3. Wait while every scene is exported and its textures are compressed (BC7). Big levels can take a minute.

You get:

<output>/
  My Game/
    My Game.exe          the game (no console window, no debug keys)
    game.json            title, first level, window settings
    levels/
      Level1.glb         one per Blender scene
      Level2.glb
      sounds/, textures/
    vcruntime140.dll ... Visual C++ runtime, so it runs on any PC
    ENGINE-LICENSE.txt   the engine's licence (free, including for games you sell)
    THIRD-PARTY-NOTICES.txt  the licences of the libraries and fonts in the engine
  My Game.zip            the same folder, ready to share

Send people the .zip. They unzip it and double-click My Game.exe.

Packaging again replaces the whole My Game folder in that location. Don’t keep your own files inside it.

Updates

Set Update Feed to a web folder you can upload to (https://example.com/mygame/updates/). When a player starts the game, the launcher checks it, and if there’s a newer version it offers Update now: it downloads the zip, checks its SHA-512 and that the new program is signed by whoever signed the old one, then closes the game, swaps the files in and starts it again. To publish a new version, package the game and run:

python tools/publish_update.py "My Game.zip" --feed-dir updates --page https://example.com/mygame/

and upload the two files it makes in updates/ (my-game.json and the zip) to the feed folder. With --url the feed points at a zip that’s already on your site instead.

Multiple levels

The packaged game

Checklist before you share