Post

Replies

Boosts

Views

Activity

Reply to Is there currently a way to import 3D Gaussian Splatting data into Reality Composer Pro?
Thank you for such a detailed write-up. It was really helpful to read, because I've been seeing exactly the same behavior and wasn't sure whether I was missing something. I can confirm your results independently on macOS 27.0.1 with Xcode 27 beta (27A266a). I used the Gaussian splats on visionOS sample's own PLY parsing code, with the sample plant.ply file (12 MB, 51,352 splats). Like you, I get a valid GaussianSplatComponent at runtime. After write(to:), the .reality file is only ~4.5 KB (4,619 bytes in one of my runs too, the same size as yours). Looking inside the archive, it only contains assets/Scene_0.compiledscene, assetMap.json and header.json, with no buffer or splat asset. After reloading, the GaussianSplatComponent is missing, just as you describe. In case it helps narrow things down, a few other variations I tried all gave the same result: write(to:options: [.preferFastExport]) the static Entity.write(_:to:), as you also tried putting the splat entity under a parent entity and writing the parent rendering the splat for a few frames in a RealityRenderer before writing I'd also love to hear from the Apple team whether persisting a BufferResource-backed GaussianSplatComponent in a .reality file is expected to work, or whether it's a current limitation of the beta. Thanks again to both of you for looking into this.
Sep ’26
Reply to Is there currently a way to import 3D Gaussian Splatting data into Reality Composer Pro?
Thank you for such a detailed write-up. It was really helpful to read, because I've been seeing exactly the same behavior and wasn't sure whether I was missing something. I can confirm your results independently on macOS 27.0.1 with Xcode 27 beta (27A266a). I used the Gaussian splats on visionOS sample's own PLY parsing code, with the sample plant.ply file (12 MB, 51,352 splats). Like you, I get a valid GaussianSplatComponent at runtime. After write(to:), the .reality file is only ~4.5 KB (4,619 bytes in one of my runs too, the same size as yours). Looking inside the archive, it only contains assets/Scene_0.compiledscene, assetMap.json and header.json, with no buffer or splat asset. After reloading, the GaussianSplatComponent is missing, just as you describe. In case it helps narrow things down, a few other variations I tried all gave the same result: write(to:options: [.preferFastExport]) the static Entity.write(_:to:), as you also tried putting the splat entity under a parent entity and writing the parent rendering the splat for a few frames in a RealityRenderer before writing I'd also love to hear from the Apple team whether persisting a BufferResource-backed GaussianSplatComponent in a .reality file is expected to work, or whether it's a current limitation of the beta. Thanks again to both of you for looking into this.
Replies
Boosts
Views
Activity
Sep ’26