The open-source, AI-first SDK for building 3D and augmented reality apps. Jetpack Compose, SwiftUI, Web, Flutter, React Native — one declarative API, native performance everywhere.
Pick your platform, paste one line, and you are running 3D.
// build.gradle.kts
dependencies {
// 3D only
implementation("io.github.sceneview:sceneview:3.5.2")
// 3D + AR
implementation("io.github.sceneview:arsceneview:3.5.2")
}
// Swift Package Manager
// Add in Xcode: File → Add Package Dependencies
"https://github.com/sceneview/sceneview-swift"
// Version: 3.5.2
import SceneViewSwift
// One line in your HTML:
<script src="https://cdn.jsdelivr.net/npm/sceneview-web@3.5.2/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
Write 3D scenes the same way you write UI — composable, reactive, simple.
Scene(
modifier = Modifier.fillMaxSize(),
engine = rememberEngine(),
modelLoader = rememberModelLoader(engine),
environmentLoader = rememberEnvironmentLoader(engine),
environment = rememberEnvironment(environmentLoader, "envs/sky.hdr"),
cameraNode = rememberCameraNode(engine) {
position(0f, 0f, 4f)
},
cameraManipulator = rememberCameraManipulator()
) {
ModelNode(
modelInstance = rememberModelInstance(
modelLoader, "models/helmet.glb"
)
)
}
import SceneViewSwift
struct ContentView: View {
var body: some View {
SceneView {
ModelNode(
name: "helmet",
modelName: "DamagedHelmet",
modelExtension: "usdz"
)
.position([0, 0, -1])
.scale(0.3)
}
}
}
// 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
Production-ready primitives built on native renderers — Filament on Android, RealityKit on Apple.
Load glTF, GLB, and USDZ with one composable. Auto-orbit, camera controls, HDR lighting, and shadows out of the box.
Plane detection, hit testing, cloud anchors, augmented images. ARCore on Android, ARKit on iOS — unified API.
Generate cubes, spheres, cylinders, paths, and shapes at runtime. Earcut triangulation, physics, spring animations.
One API across Android, iOS, macOS, visionOS, Web, TV, Flutter, and React Native. Native renderers, shared logic.
22 MCP tools so Claude, Cursor, and Windsurf generate correct SceneView code on the first try. Docs optimized for AI.
Physically-based rendering with iridescence, sheen, clearcoat, and transmission. Filament delivers photo-real quality.
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.
Interact with these 3D models — orbit, zoom, rotate. Powered by SceneView Web (Filament.js).
Replace flat product photos with interactive 3D. Customers orbit, zoom, and inspect every angle. AR lets them place products in their space — boosting conversion by up to 94%.
Scene {
ModelNode("sneaker.glb")
}
Let customers place furniture in their real room using AR. Anchor 3D models to detected surfaces with a single tap. Accurate scale, real-time shadows.
ARScene {
AnchorNode {
ModelNode("chair.glb")
}
}
Physically-based rendering with iridescence, sheen, and clearcoat. Filament renders materials indistinguishable from photography — perfect for luxury goods and collectibles.
Scene {
ModelNode("product.glb",
autoAnimate = true)
}
Skeletal animation, blend shapes, physics simulation. Build character-driven experiences with Compose state management. No game engine required.
Scene {
ModelNode("fox.glb",
autoAnimate = true)
}
The lightweight alternative to heavy game engines for 3D in native apps.
| SceneView | Unity | ARCore SDK | RealityKit SDK | |
|---|---|---|---|---|
| Setup time | 2 min (1 dependency) | 30+ min (install editor) | 15 min (manual setup) | 10 min (Xcode only) |
| APK size impact | ~3 MB | ~30 MB+ | ~5 MB | N/A (iOS only) |
| Compose / SwiftUI | Native (first-class) | None (separate engine) | Partial (wrapper) | SwiftUI native |
| Learning curve | Low (Compose patterns) | High (C#, editor, ECS) | Medium (imperative) | Medium (Swift only) |
| AI code generation | 22 MCP tools | No MCP | No MCP | No MCP |
Production teams building real apps with SceneView.
"We replaced our entire custom OpenGL pipeline with SceneView in two days. The Compose integration is seamless — our 3D product viewer now shares state with the rest of the UI naturally."
"SceneViewSwift gave us AR on iOS without fighting RealityKit boilerplate. The SwiftUI-native API means our designers can read the code and understand what each node does."
"As a startup, we needed 3D without the 30 MB Unity tax. SceneView added only 3 MB to our APK and we shipped AR try-on in a week. The MCP integration with Claude is a game changer."
Interactive demos running in your browser — powered by Filament.js WASM.
Write code and see it render live. Orbit, zoom, switch models.
Gallery of real-world apps and use cases built with SceneView.
Generate shapes, buildings, and scenes at runtime with Filament.
Quick start guides, API reference, tutorials for every platform.
Explore working demos across every supported platform.
SceneView is open source and community-driven.
Show your support and help others discover SceneView.
StarChat with developers, get help, share your projects.
Support development on GitHub Sponsors (0% fees), Open Collective, or Polar.
Fix bugs, add features, improve docs. All contributions welcome.