Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/hedge-dev/UnleashedRecomp/llms.txt

Use this file to discover all available pages before exploring further.

Building Unleashed Recompiled from source requires a C++20-capable compiler, CMake 3.20+, and a legally acquired copy of Sonic Unleashed for Xbox 360 to supply the required game files. The project uses vcpkg for dependency management — it is bundled as a submodule and invoked automatically during CMake configuration, so no manual setup is needed.

Prerequisites

RequirementDetails
CompilerClang (via Visual Studio 2022 on Windows, system Clang on Linux/macOS)
Build systemCMake 3.20+ and Ninja
DependenciesManaged automatically by vcpkg (bundled submodule)
Game filesdefault.xex, default.xexp, shader.ar from your copy of the game

Required Game Files

Before you can compile the project you must place the following files inside ./UnleashedRecompLib/private/:
  • default.xex — the game’s main executable (found in the game’s root directory)
  • default.xexp — the title update patch file (obtained via the title update package)
  • shader.ar — the packed shader archive (found in the game’s root directory)
The easiest way to obtain compatible, verified versions of these files is to install the game using an existing Unleashed Recompiled release first. The installation wizard validates and extracts all required files into the correct layout (game and update subdirectories), ensuring they are compatible with the build environment.

Clone the Repository

Clone the repository along with all submodules (vcpkg, XenonRecomp tooling, plume, and other third-party libraries):
git clone --recurse-submodules https://github.com/hedge-dev/UnleashedRecomp.git
On Windows, if you cloned without --recurse-submodules, run update_submodules.bat from the repository root to pull them in.

Platform Build Guides

Select your operating system to continue:

Windows

Build with Visual Studio 2022 and the Clang compiler.

Linux

Build with CMake and Clang on Debian/Ubuntu or Arch.

macOS

Build with Xcode 16.3+ and CMake via Homebrew or MacPorts.

Available CMake Presets

All presets use the Ninja generator and write their output to ./out/build/<preset-name>/. The Release preset additionally enables link-time optimisation (CMAKE_INTERPROCEDURAL_OPTIMIZATION).

Windows

PresetBuild type
x64-Clang-DebugDebug
x64-Clang-RelWithDebInfoRelWithDebInfo
x64-Clang-ReleaseRelease (LTO enabled)

Linux

PresetBuild type
linux-debugDebug
linux-relwithdebinfoRelWithDebInfo
linux-releaseRelease (LTO enabled)

macOS

PresetBuild type
macos-debugDebug
macos-relwithdebinfoRelWithDebInfo
macos-releaseRelease (LTO enabled)
Use RelWithDebInfo during active development. It compiles significantly faster than a full Debug build and delivers near-Release runtime performance, making it the best choice for iterating on changes without a debugger.
The very first build takes considerably longer than subsequent ones because CMake invokes XenonRecomp and XenosRecomp to translate the game’s PowerPC binary and Xenos shader bytecode into C++ and HLSL respectively. This recompilation step only runs when the input game files change.

Build docs developers (and LLMs) love