
MetalSplatter
MetalSplatter is an MIT licensed Swift and Metal renderer that draws Gaussian splats on iOS, macOS and visionOS.
Location
Seattle, WA
Size
1
Platform
Swift package for iOS 18, macOS 15 and visionOS 2. Free viewer app on the visionOS App Store
GPU
None published. Rendering is Metal on Apple silicon, so any device meeting the iOS 18, macOS 15 or visionOS 2 floor has a capable GPU
Pricing
Free. The library is open source and the Vision Pro viewer app is a free download
License
MIT (library). The Vision Pro viewer app is not open source
Compare licence terms ↗
Best for
Rendering Gaussian splats inside a native Apple app
Updated
July 2026
MetalSplatter is a Swift and Metal library that renders 3D Gaussian splats on Apple platforms, written by Seattle developer Sean Cier and released under the MIT licence. The repository was created on December 31 2023 and carries 718 stars and 113 forks as of October 2026. Its package manifest targets iOS 18, macOS 15 and visionOS 2, so the library builds for iPhone, iPad, Mac and Apple Vision Pro rather than for Vision Pro alone. On Vision Pro it draws the scene in stereo using vertex amplification.
Two different things carry the MetalSplatter name and the project's own README calls the overlap confusing. The library is the open source Swift package. The MetalSplatter viewer is a separate closed source Vision Pro app built on that library, and it adds camera controls and a splat gallery the library itself does not provide. The viewer arrived for Apple Vision Pro in February 2024 and reached its own 1.0 in August 2024, while the library did not tag 1.0.0 until February 2 2026, with 1.0.1 following on February 20 2026.
The package ships four libraries and one command line tool. MetalSplatter renders a frame, PLYIO reads and writes binary and ASCII PLY files as a standalone component, SplatIO interprets PLY, SPZ and .splat files as sets of splats, and SampleBoxRenderer is a drop in replacement used for debugging an integration. The SplatConverter executable converts between the supported formats. SPZ handling comes from the separate spz-swift package, which SplatIO depends on from version 2.1.0.
One input constraint is worth knowing before a file is loaded. The PLY reader in SplatIO as released in 1.0.1 holds a fixed spherical harmonics count of 45 and requires every f_rest property that count implies, so it opens splat PLY files stored at the full degree three layout and rejects files written at degree one or two. A file carrying no f_rest properties at all takes a separate branch, keeps the DC term only, and loads normally. Pipelines that emit lighter files with an intermediate number of coefficients therefore produce PLY files the 1.0.1 reader will not read. A change merged to main on September 2 2026 reads PLY files at any spherical harmonics degree, accepting exactly 0, 9, 24 or 45 f_rest properties and rejecting gapped or mismatched layouts, but no release has been tagged since 1.0.1, so the fix is merged and not yet released.
Development is intermittent. The most recent tag is 1.0.1 from February 20 2026, and the last commits on main landed on September 2 2026, when Sean Cier merged the spherical harmonics reader change, a follow up validation fix and a SplatMart listing among the project's 3DGS file resources. Four pull requests remain open, the oldest from May 2025, covering a GPU sorting implementation, a sorter loop fix, an Xcode 16.4 and Swift 6.1 build and crash fix, and camera controls for the macOS and iOS sample app.
Frequently Asked Questions
What platforms does MetalSplatter run on?
MetalSplatter targets iOS 18, macOS 15 and visionOS 2 in its Swift package manifest, so it builds for iPhone, iPad, Mac and Apple Vision Pro. On Vision Pro it renders in stereo using vertex amplification.
Is MetalSplatter free and open source?
MetalSplatter the library is open source under an MIT licence on GitHub. The MetalSplatter viewer for Apple Vision Pro is a separate free App Store download and is not open source, a distinction the project's own README flags as confusing.
What file formats does MetalSplatter read?
MetalSplatter reads PLY, SPZ and .splat files through its SplatIO library and converts between them with the SplatConverter command line tool. SPZ support comes from the separate spz-swift package.
Why does MetalSplatter fail to open some splat PLY files?
MetalSplatter's PLY reader in release 1.0.1 expects the full spherical harmonics degree three layout of 45 f_rest properties and rejects splat PLY files written at degree one or two. Files carrying no f_rest properties at all still load with their DC term. A change accepting degree one and two layouts was merged to main on September 2 2026, but it is not in a tagged release, so MetalSplatter 1.0.1 still rejects those files.
Is MetalSplatter still being developed?
MetalSplatter last tagged a release, 1.0.1, on February 20 2026, and last saw commits on main on September 2 2026, when the spherical harmonics degree fix was merged. Four pull requests from outside contributors remain open, the oldest dating to May 2025.
Alternatives
Recent Headlines
World Labs' Spark 2.4.0 Reads SPZ v4 Files
Gaussian Splat Patch Merges and Bakes Splats in Blender
colmap-wasm Runs COLMAP and GLOMAP in the Browser
Eclipse Automation Opens RealitySync on Apple Devices
Spirula Studio v2026.10.16 Adds RoMa v2 Initialization
Backblaze Open Sources a 4D Gaussian Splat Template
Imperial Releases Code for MLP Splatting
John Knoll Used Splats for The Mandalorian and Grogu
ComfyUI-InfiniSplat Brings InfiniSplat to ComfyUI
CHCNAV Releases CoViewer, a Free Splat Viewer
Recent Job Openings



