Installing
For now the engine is built from source. Prebuilt downloads of the editor and its tools come with the first release.
What you need
Section titled “What you need”-
CMake 3.28 or newer, and Ninja.
-
A GPU that runs Vulkan 1.3, or Direct3D 12 on Windows, to run anything that draws.
-
On Linux (x64): Clang 21 or GCC 15, the Vulkan development libraries, and SDL3’s build dependencies. On Ubuntu or Debian:
Terminal window sudo apt install cmake ninja-build clang pkg-config \libvulkan-dev vulkan-tools vulkan-validationlayers mesa-vulkan-drivers \libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxss-dev \libxtst-dev libwayland-dev wayland-protocols libxkbcommon-dev libasound2-devThe
clangthis installs may be too old. The engine is written in C++23 with modules and is built with Clang 21. Ubuntu 24.04’s default Clang 18 does not build it, and Clang 19 and 20 are untested, so install Clang 21 beside your distribution’s own if it is older.For GCC, the version that works is Ubuntu’s packaged GCC 15 (
g++-15, in the 24.04 backports or in 26.04). The upstream 15.2.0 release does not build the engine’s modules. -
On Windows (x64): Clang 21 (LLVM) or MSVC, and the Windows SDK. Run the MSVC presets from a Developer Command Prompt (
vcvars64), so the compiler and the SDK are on the path. -
For web builds: the Emscripten SDK, version 6.0.5, with a small patch to its
emcc.pyapplied. The engine’sDocumentation/Guides/emscripten-windows.mdhas the patch and how to apply it.
Get the source:
git clone https://github.com/AssiduousEngine/AssiduousEngine.gitcd AssiduousEngineOn Linux, the simplest way to build is the script for your compiler. It finds the newest Clang (or GCC) installed, checks that it is new enough, and configures and builds with it:
./build-clang.sh # everything, Debug./build-clang.sh --preset clang-reldbg # another Clang preset./build-gcc.sh # Debug, with GCCOn Windows, build-clang.cmd and build-msvc.cmd do the same.
You can also configure and build through a CMake preset yourself. A preset runs plain clang++
or g++, so that command must be Clang 21 or GCC 15:
cmake --preset clang # once, to configurecmake --build --preset clang # build everythingThe presets name a compiler and a configuration:
| Preset | What it builds |
|---|---|
clang, gcc, msvc |
Debug, the development configuration |
clang-shared, msvc-shared |
Debug, with the engine’s libraries built as shared libraries |
clang-reldbg, msvc-reldbg |
Optimized, with debug information |
clang-release, gcc-release, msvc-release |
Release |
clang-shipping, gcc-shipping, msvc-shipping |
Shipping: no asserts, stripped |
wasm, wasm-release, wasm-shipping |
The web player (Emscripten): Debug, Release with the profiler, and Shipping |
For a web build, load the Emscripten SDK’s environment into the shell first.
A first build takes a while. If it runs out of memory, build with fewer jobs:
cmake --build --preset clang -j4, or ./build-clang.sh -- -j4.
Everything a build makes lands in Bin/<configuration>/<platform>-<compiler>/, for example
Bin/Debug/Linux64-Clang/.
Run the editor
Section titled “Run the editor”Bin/Debug/Linux64-Clang/Tools.Editor # the project managerBin/Debug/Linux64-Clang/Tools.Editor path/to/project # open a projectOn Windows the editor is Tools.Editor.exe, in Bin\Debug\Win64-MSVC\ (or Win64-Clang).
Next: your first project.