$ cat docs/guides/macos.md
# building on macOS
macOS supports C++ engine, Editor, and C# scripting builds.
Prerequisites
- Xcode command-line tools:
xcode-select --install - CMake 3.20+
- .NET 9.0 SDK for macOS: Download
- Vulkan SDK for macOS (optional, for Vulkan backend): Installs MoltenVK + loader
All other third-party C/C++ dependencies (GLFW, shaderc, VMA, etc.) are handled by CMake + vcpkg.
Configure with Scripting Enabled
bash
CONFIG=Debug
# Ninja (recommended)
cmake -S . -B build-macos \
-G Ninja \
-DCMAKE_BUILD_TYPE="${CONFIG}" \
-DENABLE_SCRIPTING=ON \
-DBUILD_TESTING=ON
# Unix Makefiles
cmake -S . -B build-macos \
-G "Unix Makefiles" \
-DCMAKE_BUILD_TYPE="${CONFIG}" \
-DENABLE_SCRIPTING=ON \
-DBUILD_TESTING=ONThis bootstraps vcpkg, installs dependencies for the x64-osx or arm64-osx triplet, and configures CoreCLR hosting.
Run Scripting Smoke Tests
bash
chmod +x Tools/Scripts/run-macos-scripting-smoke-tests.sh
./Tools/Scripts/run-macos-scripting-smoke-tests.shValidates CoreCLR hosting and compile server via EngineCoreClrSmokeTests and EngineCompileServerSmokeTests ctest entries.
Build the Editor
bash
cmake --build build-macos --config Debug \
--target Editor -- -j"$(sysctl -n hw.ncpu)"Produces build-macos/bin/Debug/Editor.
Run IoL + HotReload Harness
bash
chmod +x Tools/Scripts/run-macos-editor-hotreload-iol-test.sh
./Tools/Scripts/run-macos-editor-hotreload-iol-test.shExercises [InitializeOnLoad] and hot-reload behavior. On success, traces appear in Logs/Editor-macOS-IoL-HotReload-ioltrace.log.
Troubleshooting
Vulkan Surface Creation
If the Editor logs Failed to create window surface! Error: -7:
- Ensure the Vulkan SDK for macOS is installed
- Ensure
VULKAN_SDKis set in your shell - If using GLFW < 3.4, update it โ GLFW 3.4+ supports
glfwInitVulkanLoaderfor non-standard loader locations
CompileServer Socket Path
If you see Socket path too long, override the pipe path:
bash
export GE_PIPE_PATH=/tmp/openengine-compile-serverNext Steps
- Follow the Development Workflow
- Build on Linux