Run a Vulkan-based game or 3D app on macOS or iOS without rewriting it for Apple's Metal API.
Convert SPIR-V shaders to Metal Shading Language offline during your build process using MoltenVKShaderConverter.
Distribute a Vulkan app through the Apple App Store, since MoltenVK uses only publicly documented Apple APIs.
Add Apple platform support to a cross-platform Vulkan game engine with minimal code changes.
Requires Xcode 15 or later plus CMake and Python, iOS/tvOS/visionOS targets need a fetch script to download and compile external dependencies.
MoltenVK is a compatibility layer that lets software written for Vulkan, a widely used graphics and compute standard, run on Apple devices. Vulkan is a low-level API for controlling graphics hardware directly, popular for games and 3D applications, but Apple does not support it natively. Instead, Apple hardware uses a graphics system called Metal. MoltenVK sits between the two, translating Vulkan instructions into Metal equivalents so Vulkan-based applications can run on macOS, iOS, tvOS, and visionOS without being rewritten. One part of the translation involves shaders, which are small programs that run directly on the graphics chip. Vulkan uses a format called SPIR-V for shaders. Metal uses its own format called Metal Shading Language. MoltenVK automatically converts SPIR-V shaders to Metal Shading Language at runtime, so developers do not need to maintain separate shader code for Apple platforms. MoltenVK implements a large subset of Vulkan 1.4 and uses only Apple publicly documented APIs. Because it avoids private or undocumented calls, applications using MoltenVK are compatible with Apple App Store distribution rules. The library ships in two parts: the runtime library that handles translation on the fly, and a standalone command-line tool called MoltenVKShaderConverter for converting shaders offline during development. Developers can access pre-built binary releases directly from the repository without building from source. For macOS development, the recommended setup is through the Vulkan SDK from LunarG, which bundles a MoltenVK build. For iOS, tvOS, or visionOS targets, developers clone the repository, install cmake and Python, and run a fetch script that downloads and compiles external dependencies. Building requires Xcode 15 or later. The project is maintained by the Khronos Group, the industry consortium that owns the Vulkan standard.
← khronosgroup on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.