One SDK, Every Screen
SceneView delivers native 3D rendering across 9 platforms using each platform's native renderer. One API, every screen, zero compromise.
Supported Platforms
Native renderer per platform. Filament on Android and Web, RealityKit on Apple.
Full 3D and AR support via Jetpack Compose. Declarative scene graph with composable nodes. ARCore integration for augmented reality.
// 3D Scene SceneView { val model = rememberModelInstance(modelLoader, "models/robot.glb") model?.let { ModelNode(it) } } // AR Scene ARSceneView { AnchorNode(anchor) { ModelNode(model) } }
Native SwiftUI views with RealityKit rendering. SPM integration in one line. ARKit for augmented reality.
SceneView { ModelNode( url: "robot.usdz" ) } ARSceneView { AnchorNode(anchor) { ModelNode(url: "robot.usdz") } }
Same SceneViewSwift API on macOS. Desktop-class 3D experiences with native Metal rendering via RealityKit.
// Same API as iOS SceneView { ModelNode( url: "product.usdz" ) }
Apple Vision Pro spatial computing. Immersive spaces, hand tracking, and spatial anchors. RealityKit is the only path to visionOS.
// Immersive space on Vision Pro ImmersiveSpace { RealityView { content in content.add( ModelEntity(named: "scene.usdz") ) } }
Same Filament engine as Android, running in the browser via WebAssembly. WebGL2 rendering with WebXR AR/VR support.
SceneView.modelViewer( 'canvas-id', 'models/robot.glb' )
D-pad navigation, model cycling, auto-rotation. Big-screen 3D experiences optimized for living rooms.
// Same SceneView composable SceneView( modifier = Modifier .focusable() .onKeyEvent { /* D-pad */ } ) { ModelNode(model) }
Wireframe placeholder using Compose Canvas. Filament JNI not yet available on desktop. Full support planned.
Flutter plugin with PlatformView wrapping native SceneView on Android (Filament) and iOS (RealityKit).
SceneViewWidget( model: 'models/robot.glb', autoRotate: true, )
React Native Turbo Module with Fabric component bridging to native SceneView on Android and iOS.
<SceneView model={"models/robot.glb"} autoRotate={true} />
Architecture
Shared logic in Kotlin Multiplatform, native renderer per platform. No compromise on performance.
Feature Comparison
What each platform supports today
| Platform | Renderer | 3D | AR | Status | Framework |
|---|---|---|---|---|---|
|
|
Filament | check_circle | check_circle | Stable | Jetpack Compose |
|
|
RealityKit | check_circle | check_circle | Alpha | SwiftUI |
|
|
RealityKit | check_circle | remove | Alpha | SwiftUI |
|
|
RealityKit | check_circle | check_circle | Alpha | SwiftUI |
|
|
Filament.js | check_circle | check_circle | Alpha | Kotlin/JS |
|
|
Canvas | remove | remove | Planned | Compose Desktop |
|
|
Filament | check_circle | remove | Alpha | Compose TV |
|
|
Native | check_circle | check_circle | Alpha | PlatformView |
|
|
Native | check_circle | check_circle | Alpha | Fabric |
Start Building Today
One SDK, every screen. Add native 3D to your app in minutes.