3D and AR for every platform
The most comprehensive 3D and AR SDK for Jetpack Compose, SwiftUI, and the Web. Built for performance, designed for developers.
Get started in seconds
Pick your platform, paste one line, and you are running 3D.
// build.gradle.kts
dependencies {
// 3D only
implementation("io.github.sceneview:sceneview:3.6.0")
// 3D + AR
implementation("io.github.sceneview:arsceneview:3.6.0")
}
// Swift Package Manager
// Add in Xcode: File → Add Package Dependencies
"https://github.com/sceneview/sceneview-swift"
// Version: 3.6.0
import SceneViewSwift
// One line in your HTML:
<script src="https://cdn.jsdelivr.net/npm/sceneview-web@3.6.0/sceneview.js"></script>
// Then use the API:
SceneView.modelViewer("canvas", "model.glb")
# pubspec.yaml (coming soon on pub.dev)
dependencies:
sceneview_flutter:
git:
url: https://github.com/sceneview/sceneview
path: flutter
// package.json
"dependencies": {
"react-native-sceneview": "github:sceneview/sceneview#react-native"
}
// Then run:
npm install
npx pod-install // iOS only
// Claude Desktop — add to claude_desktop_config.json
{
"mcpServers": {
"sceneview": {
"command": "npx",
"args": ["sceneview-mcp"]
}
}
}
// Claude Code — run from terminal
claude mcp add sceneview -- npx sceneview-mcp
// Compose Desktop (alpha — software renderer)
git clone https://github.com/sceneview/sceneview
cd sceneview/samples/desktop-demo
./gradlew run
Powerful from day one.
Declarative 3D
Write scenes like UI. Compose-style state management, reactive updates, and a node tree that mirrors your mental model.
AR Ready
Surface detection, light estimation, and anchor placement with ARCore and ARKit. One API, both platforms.
AI-First SDK
32 MCP tools let Claude, Cursor, and Windsurf generate correct SceneView code on the first try. No hallucinated APIs.
Cross-Platform
One mental model, every device. Shared geometry, animation, and collision logic via Kotlin Multiplatform.
Native Renderers
Filament (Vulkan/WebGL2) on Android and Web. RealityKit (Metal) on Apple. Zero abstraction overhead.
Open Source
Apache 2.0 licensed. Transparent roadmap, active community, and enterprise-ready from day one.
Write once, render everywhere
Native performance with a unified API philosophy.
Scene(
modifier = Modifier.fillMaxSize(),
nodes = listOf(
ModelNode(
model = "models/drone.glb",
autoAnimate = true,
scale = 0.5f
)
),
environment = Environment(
hdr = "skybox.hdr"
)
)
SceneView {
Model(named: "drone")
.rotation(x: .pi/4)
.scale(0.5)
.onTap {
print("Drone selected")
}
}
.environment(named: "outdoor")
.edgesIgnoringSafeArea(.all)
// One line in your HTML:
<script src="sceneview.js"></script>
// Render a 3D model:
SceneView.modelViewer("canvas", "model.glb", {
backgroundColor: [0.05, 0.05, 0.08, 1],
lightIntensity: 150000,
fov: 35
})
// Ask Claude with SceneView MCP:
"Build me an AR app that lets users
place 3D furniture in their room"
// Claude generates correct, working code
// with SceneView on the first try.
// Setup:
claude mcp add sceneview -- npx sceneview-mcp
Built for AI assistants
SceneView is the first 3D SDK designed so AI assistants generate correct, working code on the first try. MCP integration gives Claude, Cursor, and Windsurf full access to the API reference, samples, and best practices.
// Claude Code
claude mcp add sceneview -- npx sceneview-mcp
Using SceneView MCP to generate your app...
// MainActivity.kt
ARScene(
planeRenderer = true,
onTapAR = { hitResult ->
AnchorNode(hitResult) {
ModelNode("shoe.glb")
}
}
)
✓ App compiles and runs. Point camera at floor, tap to place shoe.
Built for real products
From e-commerce to healthcare — SceneView powers production 3D and AR experiences.
3D Product Viewer
Interactive 360-degree product views with AR try-on. Replace flat photos, boost conversion.
Scene { ModelNode("shoe.glb") }
AR Room Staging
Place furniture and visualize spaces in real-time AR with surface detection and shadows.
ARScene { AnchorNode { ModelNode("chair.glb") } }
Medical 3D Viewer
Interactive anatomy models, surgical planning, and patient education with PBR rendering.
Scene { ModelNode("organ.glb", autoAnimate = true) }
Car Configurator
Real-time material switching, color variants, and AR showroom with high-fidelity PBR.
Scene { ModelNode("car.glb", autoAnimate = true) }
Every platform, native performance
Android
Jetpack Compose + Filament + ARCore
Filament (Vulkan/OpenGL) Alpha phone_iphoneiOS
SwiftUI + RealityKit + ARKit
RealityKit (Metal) Alpha laptop_macmacOS
SwiftUI + RealityKit
RealityKit (Metal) Alpha visibilityvisionOS
SwiftUI + RealityKit Spatial
RealityKit (Metal) Stable languageWeb
Kotlin/JS + Filament.js WASM
Filament (WebGL2) Alpha tvAndroid TV
Compose TV + D-pad controls
Filament (Vulkan) Placeholder desktop_windowsDesktop
Compose Desktop (wireframe)
Software rendererAndroid XR
Jetpack XR SceneCore
Compose XRFlutter
PlatformView bridge
Native (Android + iOS) AlphaReact Native
Fabric bridge
Native (Android + iOS)How SceneView compares
The lightweight alternative to heavy game engines for 3D in native apps.
| SceneView | Unity | Filament (direct) | Three.js | Babylon.js | RealityKit SDK | |
|---|---|---|---|---|---|---|
| Setup time | 2 min (1 dep) | 30+ min | 15 min (C++ build) | 5 min (npm) | 5 min (npm) | 10 min (Xcode) |
| Binary overhead | ~3 MB | ~30 MB+ | ~2 MB | ~600 KB (JS) | ~800 KB (JS) | Built-in |
| Compose / SwiftUI | Native (first-class) | None | None (imperative C++) | N/A (web only) | N/A (web only) | SwiftUI native |
| Platforms | 9 (mobile + web + XR) | 20+ (game focus) | Android, web, desktop | Web only | Web only | Apple only |
| Learning curve | Low (Compose/SwiftUI) | High (C#, ECS) | High (C++/JNI) | Medium (JS) | Medium (JS) | Medium (Swift) |
| AI code gen | 32 MCP tools | No MCP | No MCP | No MCP | No MCP | No MCP |
| Renderer | Filament + RealityKit | Custom (proprietary) | Filament | WebGL/WebGPU | WebGL/WebGPU | Metal |
Filament is SceneView's rendering engine on Android and Web. SceneView adds the declarative API, scene graph, AR integration, and cross-platform abstractions on top.
Community & Metrics
Real numbers from a growing open-source ecosystem.
Try SceneView
Interactive demos, sample apps, and documentation.
3D Playground
Write code, see it render live. Orbit, zoom, switch models.
Android Demo
Material 3 Expressive, 4 tabs, 14 demos
iOS Demo
SwiftUI 3-tab app, 3D + AR samples
Web Demo
Filament.js WASM + WebXR in the browser
Procedural Geometry
Runtime shapes, buildings, and scenes
Get involved
SceneView is open source and community-driven.
Star on GitHub
Show your support and help others discover SceneView.
forumJoin Discord
Chat with developers, get help, share your projects.
favoriteSponsor
Support development on GitHub Sponsors, Open Collective, or Polar.
group_addContribute
Fix bugs, add features, improve docs. All contributions welcome.
Start building in 5 minutes
added 12 packages from 8 contributors and audited 42 packages in 1.2s
Success! Ready to use SceneView in your project.