How to Build Dora SSR EngineOn this pageHow to Build Dora SSR Engine 1. Get the Source GitHubGiteeGitCodegit clone https://github.com/ippclub/Dora-SSR.gitgit clone https://gitee.com/ippclub/Dora-SSR.gitgit clone https://gitcode.com/ippclub/Dora-SSR.git 2. Build Game Engine Runtime Please select the target platform you want to build for. For the fastest local desktop loop, use the run_* scripts where available. They check the required native dependency outputs and build the full dependency set automatically when any dependency is missing. The platform library scripts under Tools/build-scripts build the native dependencies required by the engine, including SDL2, bgfx, the Rust runtime, and the Wa native runtime. You normally do not need to enter Source/3rdParty/bgfx and build bgfx manually. WindowsmacOSiOSAndroidLinux Install Go 1.24 or later, Rust, xmake, and Visual Studio Community 2026 with MSBuild tools, matching the Windows GitHub Actions build environment. Install MSYS2 and a 32-bit MinGW-w64 toolchain for Go cgo when building the Wa runtime DLL. The CI build uses MSYS2 MINGW32; run this from an MSYS2 MINGW32 shell: pacman -S --needed mingw-w64-i686-gcc Make sure the MINGW32 gcc.exe is available before other MinGW toolchains. With a default MSYS2 install this is: set PATH=C:\msys64\mingw32\bin;%PATH%set CC=C:\msys64\mingw32\bin\gcc.exe Build and run the local debug runtime. Tools\build-scripts\run_windows.bat For local debugging, open Projects/Windows/Dora.sln in Visual Studio and run the Debug configuration. Install Go 1.24 or later, Rust, xmake, and the latest Xcode. Build and run the local debug runtime. Tools/build-scripts/run_macos.sh For IDE debugging, open Projects/macOS/Dora.xcodeproj in Xcode and run the Dora target. Install Go 1.24 or later, Rust, xmake, and the latest Xcode. Build the iOS native dependencies. Tools/build-scripts/build_lib_ios.sh debug Build the simulator target. xcodebuild ARCHS=arm64 ONLY_ACTIVE_ARCH=NO -project Projects/iOS/Dora.xcodeproj -configuration Debug -target Simulator -sdk iphonesimulator For IDE debugging, open Projects/iOS/Dora.xcodeproj in Xcode and run the Simulator target. tipLocal Android builds require JDK 17 in addition to Android Studio. The Wa Android AAR is built with Go and gomobile; the build script installs the pinned gomobile version automatically if it is missing. Install Go 1.24 or later, Rust, xmake, and the latest Android Studio. Build the Android native dependencies. Tools/build-scripts/build_lib_android.sh debug Build the Android app locally. cd Projects/Android/Dora./gradlew assembleDebug For IDE debugging, open Projects/Android/Dora in Android Studio and run the app module. tipLocal Linux builds use the vendored SDL2 source and SDL's upstream CMake detection. Install the development packages for the backends you want to enable, such as X11, Wayland, ALSA, PulseAudio, PipeWire, DBus, udev, and KMSDRM. Install Go 1.24 or later, Rust, and xmake. Ubuntu/DebianArch Linux Install dependent packages. sudo apt-get updatesudo apt-get install -y cmake pkg-config lua5.1 luarocks \ libgl1-mesa-dev libssl-dev libdbus-1-dev \ libasound2-dev libjack-jackd2-dev libpulse-dev libpipewire-0.3-dev libsamplerate0-dev libsndio-dev \ libibus-1.0-dev libudev-dev libusb-1.0-0-dev \ libx11-dev libxext-dev libxcursor-dev libxi-dev libxfixes-dev libxrandr-dev libxrender-dev libxss-dev \ libdrm-dev libgbm-dev libegl1-mesa-dev libwayland-dev libwayland-bin wayland-protocols \ libxkbcommon-dev libdecor-0-dev Manually generate Lua bindings. sudo luarocks install luafilesystemcd Tools/tolua++lua tolua++.lua Install dependent packages. sudo pacman -S lua51 luarocks openssl gcc make cmake pkgconf \ mesa libx11 libxext libxcursor libxi libxfixes libxrandr libxrender libxss \ wayland wayland-protocols libxkbcommon libdecor alsa-lib libpulse pipewire libusb libdrm --needed# Because the lua version must be 5.1,you need to use lua 5.1 instead of the newest version of lua# The easiest way is using 'ln' to create a soft linksudo ln -s /usr/bin/lua5.1 /usr/local/bin/lua Manually generate Lua bindings. sudo luarocks --lua-version 5.1 install luafilesystemcd Tools/tolua++lua5.1 tolua++.lua Build and run the local debug runtime. It checks the SDL2, bgfx, and Wa native outputs for the current architecture, builds missing dependencies automatically, then rebuilds the Rust runtime and Linux app. Tools/build-scripts/run_linux.sh To build without launching the runtime, use the platform build script. Tools/build-scripts/build_linux.sh debug 3. Build Web IDE Compile and run the Dora SSR engine. Install the latest version of Node.js and pnpm. Initialize the Dora Dora editor. Use pnpm start for development. When you need the engine runtime to serve the updated Web IDE, run pnpm build. It creates the production Web IDE static files and syncs them to Assets/www. Please select your platform. macOSLinuxWindowscd Tools/dora-dora && pnpm installpnpm startcd Tools/dora-dorapnpm buildcd Tools/dora-dora && pnpm installpnpm startcd Tools/dora-dorapnpm buildcd Tools\dora-dora && pnpm installpnpm startcd Tools\dora-dorapnpm build 4. Runtime and Dependency Build Flow The run_macos.sh, run_windows.bat, and run_linux.sh scripts are the shortest local desktop development path: they check the required tools, verify the SDL2, bgfx, and Wa native outputs, build the full dependency set if any required output is missing, rebuild the Rust runtime and app project, stop any old Dora process, and launch the debug runtime with the repository Assets directory. The build_lib_* scripts are dependency builders. They are used when native libraries are missing, stale, or being prepared for CI and release builds. These scripts are responsible for SDL2, bgfx/bx/bimg, the Wa native runtime, and the Rust runtime. The platform build_* scripts are higher-level build wrappers. They call dependency build steps where appropriate, refresh Lua bindings when the platform build requires it, and then build the platform app with the native build system such as MSBuild, Xcode, Make, or Gradle.