All build scripts are located in scripts/. Output binaries are placed into dist/<platform>/.
Prerequisites
- Rust: Rust stable (1.85 or newer).
- Windows:
- Rust
x86_64-pc-windows-msvctoolchain. - Visual Studio Build Tools with the Desktop development with C++ workload and Windows SDK.
- CMake on
PATH(required for OpenXR).
- Rust
- macOS:
- Xcode Command Line Tools (
xcode-select --install). - Metal is used as the rendering backend.
- Xcode Command Line Tools (
- Linux (Debian/Ubuntu):
sudo apt install build-essential pkg-config libasound2-dev libudev-dev libgtk-3-dev libxkbcommon-dev libwayland-dev libssl-dev- Vulkan drivers (Mesa, NVIDIA, etc.).
- Android:
aarch64-linux-androidRust target.- JDK 17, Android SDK (API 34+), NDK, and
build-tools.
Development builds
For fast local testing during active development, use the development scripts:
- Windows:
scripts\dev-windows.cmd - Windows (dev release):
scripts\dev-windows-release.cmd(optimized build without slow final LTO passes) - macOS:
sh scripts/dev-macos.sh
Pass additional game arguments directly:
scripts\dev-windows.cmd --map maps/Grundorf/global.cfg
Release builds
| Platform | Command | Output |
|---|---|---|
| Windows | scripts\build-windows.cmd |
dist\windows\neoomsi.exe, neoomsi-launcher.exe |
| macOS | scripts/build-macos.sh |
dist/macos/neoOMSI.app |
| Linux | scripts/build-linux.sh |
dist/linux/neoomsi, neoomsi-launcher |
| Android | scripts/build-android.sh |
dist/android/neoOMSI-<version>.apk |
| Dedicated server | scripts/build-server.sh [folder] |
dist/server/ with start.sh |
Direct Cargo compilation is also supported:
cargo build --release -p omsi-app
Binaries
neoomsi(crates/omsi-app) – The main simulator executable. Without arguments, it launches into the main launcher window.neoomsi-launcher(crates/omsi-launcher-core) – Command-line interface for headless management, mod installation, and asset operations.omsi-check(tools/omsi-check) – Validation utility that verifies content integrity against an OMSI 2 installation.
Running tests
Run the workspace test suite:
cargo nextest run --workspace
Integration tests that inspect original game content read the path from the OMSI_ROOT environment variable and skip automatically if omitted:
OMSI_ROOT="/path/to/OMSI 2" cargo nextest run --workspace


