macOS support is community-driven and not currently on the official roadmap, but the build system fully supports it. Vulkan is provided on macOS through MoltenVK, which is included as a submodule underDocumentation 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.
thirdparty/MoltenVK. The macOS deployment target is 13.0. CI builds run on macos-15 (Apple Silicon, arm64), though x86-64 builds can be produced by passing -DCMAKE_OSX_ARCHITECTURES=x86_64 at configure time.
Build Steps
Add the required game files
Copy the following files from your legally acquired copy of Sonic Unleashed into
./UnleashedRecompLib/private/:default.xex— found in the game’s root directorydefault.xexp— obtained from the title update packageshader.ar— found in the game’s root directory
Install Xcode or Command Line Tools
Install Xcode 16.3 or later from the Mac App Store, or install the equivalent Xcode Command Line Tools from Apple:Xcode provides the Apple Clang compiler and the required macOS SDK headers. Make sure the active developer directory points to your Xcode installation:
Install additional build tools
Install CMake, Ninja, and pkg-config using your preferred package manager:
Configure the project
From the repository root, run CMake with your chosen preset. The example below uses CMake will bootstrap vcpkg and compile all required libraries into
macos-release; see the preset reference for all options:./thirdparty/vcpkg/. This only happens on the first configure and can take several minutes.Build the project
Compile the
UnleashedRecomp target:The first build takes longer than usual because XenonRecomp and
XenosRecomp translate the game’s PowerPC binary and Xenos shader bytecode
into C++ and HLSL as part of the build. Subsequent builds skip this step
unless the input game files change.
Available Presets
| Preset | Build type | Notes |
|---|---|---|
macos-debug | Debug | Full debug symbols, no optimisation |
macos-relwithdebinfo | RelWithDebInfo | Debug symbols + optimisation; recommended for development |
macos-release | Release | LTO enabled; best runtime performance |
macOS support is community-driven and is not officially on the project
roadmap. Unleashed Recompiled uses
plume as its graphics abstraction layer,
which will be gaining Metal support in a future update. You can follow the
macOS discussion on GitHub
issue #455.
