Files
..
2026-09-12 11:01:37 +02:00
2026-09-12 11:01:37 +02:00
2026-09-12 11:01:37 +02:00
2026-09-12 11:01:37 +02:00

Build tools — BLOCKLINE — Relay District

Produces standalone, distributable builds from the Godot 4.5 project:

  • Windowsdist/windows/BLOCKLINE.exe (x86_64)
  • macOSdist/macos/BLOCKLINE.zip (universal: Intel and Apple Silicon in one binary)

Both are exported on your Windows PC using the Godot editor already bundled in tools/godot/. You do not need a Mac to produce the macOS build — Godot cross-exports a universal .app.

Quick start

Double-click Build-Game.cmd in the project root, or from a terminal:

powershell -ExecutionPolicy Bypass -File build-tools\Build-Game.ps1

First run downloads the 4.5-stable export templates (~700 MB) into %APPDATA%\Godot\export_templates\4.5.stable\ automatically. After that it's cached and builds take seconds.

Options

build-tools\Build-Game.ps1 -Target win    # Windows only
build-tools\Build-Game.ps1 -Target mac    # macOS only
build-tools\Build-Game.ps1 -DebugBuild    # debug build (console + verbose)

What ships to players

  • Windows: the whole dist\windows\ folder (the .exe needs the .pck and any DLLs sitting next to it). Zip that folder.
  • macOS: dist\macos\BLOCKLINE.zip. It contains BLOCKLINE.app.

macOS code signing

The build is unsigned (no Apple Developer account assumed). On a Mac, the first launch is blocked by Gatekeeper. Players work around it once with either:

  • Right-click the app → OpenOpen, or
  • xattr -dr com.apple.quarantine BLOCKLINE.app

To remove that friction you'd need an Apple Developer ID and signing + notarization (requires a Mac or a macOS CI runner). If you want that set up later, the hooks are in export_presets.cfg under the [preset.1.options] codesign/ and notarization/ keys.

Files

File Purpose
../export_presets.cfg Godot export presets (Windows + macOS). Lives in the project root — Godot requires it there.
Build-Game.ps1 The build script: template fetch + headless export of both targets.
../Build-Game.cmd Double-click wrapper in the project root.

Generated output (dist/) and the downloaded templates are already covered by .gitignore.