Skip to main content

How to Build Dora SSR Engine

1. Get the Source

git clone https://github.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.

  1. Install Go 1.24 or later, Rust, xmake, and Visual Studio Community 2026 with MSBuild tools, matching the Windows GitHub Actions build environment.

  2. 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
  3. Build and run the local debug runtime.

    Tools\build-scripts\run_windows.bat
  4. For local debugging, open Projects/Windows/Dora.sln in Visual Studio and run the Debug configuration.

3. Build Web IDE

  1. Compile and run the Dora SSR engine.

  2. Install the latest version of Node.js and pnpm.

  3. 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.

cd Tools/dora-dora && pnpm install
pnpm start
cd Tools/dora-dora
pnpm 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.