visionOS 27 introduces Gaussian Splatting support in RealityKit, allowing developers to scan real-world objects and render them as photorealistic 3D Gaussian splats directly in their spatial experiences. This enables high-fidelity representations of objects that are difficult to model by hand.
⢠Capture real-world objects with stunning detail (textures, lighting nuance) without manual 3D modeling ā dramatically speeds up asset creation
⢠Gaussian splats integrate natively with RealityKit entities and scenes, so they compose naturally with existing anchors, physics, and interactions
⢠Opens the door to photorealistic mixed-reality experiences where scanned real objects coexist seamlessly with virtual content
Loads a Gaussian splat asset of a scanned potted plant and places it in an immersive RealityKit scene, demonstrating how to anchor and display a splat entity in mixed immersion on visionOS 27.
import SwiftUI
import RealityKit
struct GaussianSplatView: View {
var body: some View {
RealityView { content in
// Load a Gaussian Splat asset exported from the RealityKit scanning pipeline
// The asset is a USDZ containing GaussianSplatComponent data
guard let splatEntity = try? await Entity(named: "PottedPlant", in: .main) else {
return
}
// Configure the Gaussian Splat component for quality/performance balance
var splatComponent = GaussianSplatComponent()
splatComponent.maxSplats = 500_000
splatComponent.sortingEnabled = true
splatEntity.components.set(splatComponent)
// Position the plant on a virtual surface at eye level
splatEntity.position = SIMD3<Float>(0, -0.4, -0.8)
splatEntity.scale = SIMD3<Float>(repeating: 0.5)
content.add(splatEntity)
} update: { content in
// Optionally animate or update the splat entity at runtime
}
.immersiveContentBrightness(.automatic)
}
}
struct GaussianSplatApp: App {
var body: some Scene {
ImmersiveSpace(id: "SplatSpace") {
GaussianSplatView()
}
.immersionStyle(selection: .constant(.mixed), in: .mixed)
}
}Gaussian Splatting asset format (.splat or USDZ with splat extension) must be prepared using the new RealityKit scanning pipeline or compatible third-party tools; large splat files can be memory-intensive so LOD management is important; feature is visionOS-only and does not fall back on iOS/iPadOS
Requires Apple Vision Pro hardware; M5 chip recommended for real-time rendering of high-density splat data
More iOS 27 APIs land every week.
Get notified when new capabilities are published ā no noise, just signal.