Environment Setup
This document explains how to set up your development environment and build Saturn from source. It describes required tools, supported platforms, dependency management, and platform-specific setup steps. You should follow this guide before attempting to configure or build the engine.
Supported platforms and compilers
Section titled “Supported platforms and compilers”Saturn targets Windows, Linux, Web, and Android. You may ignore setup steps for platforms you do not intend to build.
On Windows, Visual Studio 2022 provides the most reliable CMake integration and debugging experience. The default compiler is MSVC, although Clang is also supported. On Linux and Web targets, Clang is the preferred compiler. Web builds rely on Emscripten.
Environment setup
Section titled “Environment setup”Install Visual Studio 2022
Section titled “Install Visual Studio 2022”Install Visual Studio 2022 with the following components:
- Desktop development with C++
- C++ CMake tools for Windows
- MSVC v143 toolset or later
- Windows 10 or Windows 11 SDK
Visual Studio provides first-class CMake preset support and simplifies debugging large native codebases.
Install other required tools
Section titled “Install other required tools”choco install python --version 3.14.2 -ychoco install fvm --version 4.0.5 -ychoco install git --version 2.52.0 -ychoco install vscode --version 1.107.1 -ychoco install androidstudio --version 2025.2.2.8 -yInstall vcpkg
Section titled “Install vcpkg”Saturn uses vcpkg in manifest mode to manage most third-party dependencies. You must install vcpkg separately, but you do not need to integrate it globally.
-
Clone the vcpkg repository.
Terminal window git clone https://github.com/microsoft/vcpkg.git -
Bootstrap vcpkg for your platform.
Terminal window ./vcpkg/bootstrap-vcpkg.bat -
If required, set the
VCPKG_ROOTenvironment variable to the vcpkg directory.
Web (Emscripten) Experimental
Section titled “Web (Emscripten) ”Saturn uses Emscripten to target WebAssembly.
-
Install the Emscripten SDK.
Terminal window git clone https://github.com/emscripten-core/emsdk.gitcd emsdk./emsdk install latest./emsdk activate latest -
Load the Emscripten environment.
Terminal window .\emsdk_env.bat -
Verify that
emccis available in yourPATHbefore running CMake.
Android Experimental
Section titled “Android ”-
Install Android Studio.
-
Open the SDK Manager and install:
- Android NDK r23 or newer
- CMake and LLDB
- Android SDK tools for API level 24 or later
-
Set the
ANDROID_NDK_HOMEenvironment variable to the NDK installation path.
Claude Code AI Integration Optional
Section titled “Claude Code AI Integration ”Saturn supports Claude Code AI integration for code generation and assistance. To install it run the following PowerShell command:
irm https://claude.ai/install.ps1 | iexWe use Gemini CLI in conjunction with Claude Code for improved AI capabilities. To install Gemini CLI you need Node.js:
choco install nodejs --version 25.2.1 -ynpm install -g @google/gemini-cliInstall system packages
Section titled “Install system packages”Install the required system packages for building and running Saturn:
sudo apt updatesudo apt install \ build-essential \ cmake \ git \ ninja-build \ python3 \ python3-pip \ libx11-dev \ libxcursor-dev \ libxrandr-dev \ libxi-dev \ libgl1-mesa-dev \ libvulkan-devYou may need additional packages depending on your distribution and window system (e.g., Wayland).
Install vcpkg
Section titled “Install vcpkg”Saturn uses vcpkg in manifest mode to manage most third-party dependencies. You must install vcpkg separately, but you do not need to integrate it globally.
-
Clone the vcpkg repository.
Terminal window git clone https://github.com/microsoft/vcpkg.git -
Bootstrap vcpkg for your platform.
Terminal window ./vcpkg/bootstrap-vcpkg.sh -
If required, set the
VCPKG_ROOTenvironment variable to the vcpkg directory.
Install FVM
Section titled “Install FVM”Install FVM (Flutter Version Manager) to manage Flutter SDK versions:
curl -fsSL https://fvm.app/install.sh | bashWeb (Emscripten) Experimental
Section titled “Web (Emscripten) ”Saturn uses Emscripten to target WebAssembly.
-
Install the Emscripten SDK.
Terminal window git clone https://github.com/emscripten-core/emsdk.gitcd emsdk./emsdk install latest./emsdk activate latest -
Load the Emscripten environment.
Terminal window source ./emsdk_env.sh -
Verify that
emccis available in yourPATHbefore running CMake.
Android Experimental
Section titled “Android ”-
Install Android Studio.
-
Open the SDK Manager and install:
- Android NDK r23 or newer
- CMake and LLDB
- Android SDK tools for API level 24 or later
-
Set the
ANDROID_NDK_HOMEenvironment variable to the NDK installation path.
Claude Code AI Integration Optional
Section titled “Claude Code AI Integration ”Saturn supports Claude Code AI integration for code generation and assistance. To install it run the following Bash command:
curl -fsSL https://claude.ai/install.sh | bashWe use Gemini CLI in conjunction with Claude Code for improved AI capabilities. To install Gemini CLI you need Node.js:
sudo apt install nodejs npmsudo npm install -g @google/gemini-cli