The 3D & AR SDK that AI gets right on the first try

SceneView is designed so Claude, Cursor and every other coding assistant can produce correct 3D & AR code on the first try — for Jetpack Compose, SwiftUI, the Web, and beyond.

Try the demo: Get it on Google Play Download on the App Store Web Playground
Android
iOS
Web
visionOS
macOS
TV
Flutter
React Native
3D Scene Preview
Loading 3D engine…
Rendered live by SceneView Web (Filament.js WASM)
9
Platforms
26+
Node types
5
Lines for 3D
60fps
PBR on mobile
28
MCP AI tools
~3MB
APK overhead

Get started in seconds

Pick your platform, paste one line, and you are running 3D.

Add to Claude
or run in Claude Code terminal
claude mcp add sceneview -- npx sceneview-mcp
Also works with
Cursor
~/.cursor/mcp.json
{ "mcpServers": { "sceneview": {
  "command": "npx", "args": ["sceneview-mcp"]
} } }
GitHub Copilot VS Code
.vscode/mcp.json
{ "servers": { "sceneview": {
  "type": "stdio",
  "command": "npx", "args": ["sceneview-mcp"]
} } }
Windsurf
~/.codeium/windsurf/mcp_config.json
{ "mcpServers": { "sceneview": {
  "command": "npx", "args": ["sceneview-mcp"]
} } }
// build.gradle.kts
dependencies {
    // 3D only
    implementation("io.github.sceneview:sceneview:4.0.9")
    // 3D + AR
    implementation("io.github.sceneview:arsceneview:4.0.9")
}
// Swift Package Manager
// Add in Xcode: File → Add Package Dependencies

"https://github.com/sceneview/sceneview-swift"
// Version: 4.0.0

import SceneViewSwift
// One line in your HTML:
<script src="https://cdn.jsdelivr.net/npm/sceneview-web@4.0.9/sceneview-web.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
// Compose Desktop: wireframe placeholder only
// (no 3D renderer yet — Filament JVM pending)
git clone https://github.com/sceneview/sceneview
cd sceneview/samples/desktop-demo
./gradlew run
AI-first SDK

Built for AI assistants

SceneView is the first 3D SDK designed so AI assistants generate correct, working code on the first try. One MCP server gives your AI full access to the API reference, 3D samples, and best practices — across every major AI coding tool.

Claude
Claude Code & Desktop
Cursor
AI code editor
Windsurf
Agentic IDE
Claude Code — SceneView Project
You Build me a 3D product viewer with AR try-on for shoes
Claude

Using SceneView MCP to generate your app…

// MainActivity.kt

ARScene(

  planeRenderer = true,

  onTapAR = { hitResult ->

    AnchorNode(hitResult) {

      ModelNode("shoe.glb")

    }

  }

)

✓ Compiles on first try. Tap the floor to place the shoe.

You Add a hotspot on the laces that opens a size selector
Claude

Reading SceneView hotspot & gesture docs via MCP…

✓ Hotspot added. Preview updated in Android emulator.

Write once, render everywhere

Native performance with a unified API philosophy.

Kotlin (Jetpack Compose)
Scene(
    modifier = Modifier.fillMaxSize(),
    nodes = listOf(
        ModelNode(
            model = "models/drone.glb",
            autoAnimate = true,
            scale = 0.5f
        )
    ),
    environment = Environment(
        hdr = "skybox.hdr"
    )
)
Swift (SwiftUI)
SceneView {
    Model(named: "drone")
        .rotation(x: .pi/4)
        .scale(0.5)
        .onTap {
            print("Drone selected")
        }
}
.environment(named: "outdoor")
.edgesIgnoringSafeArea(.all)
JavaScript (Web)
// 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
})
Claude (AI)
// 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

What you can build

26+ node types, full ARCore + ARKit coverage, physics, post-processing, and Compose UI inside a 3D scene.

view_in_ar

26+ Node Types

Models, primitives (cube, sphere, cone, torus, capsule), curves, shapes, text, video, billboard sprites, lights, reflection probes, dynamic sky, fog, physics, and more — every one a Composable / SwiftUI view.

Android iOS Web
layers

Compose UI in 3D

ViewNode renders any @Composable as a textured plane in world space. Buttons, lists, animations — all interactive, all reactive. The same trick exists in SwiftUI on iOS.

Android iOS
public

AR Geospatial

Streetscape city mesh, terrain anchors, rooftop anchors, Cloud Anchors for cross-device persistence. Build navigation, geofenced experiences, and scavenger hunts at planet scale.

Android ARCore VPS
face

Augmented Faces & Images

Face mesh overlay (front camera) with custom materials. Image tracking for posters, business cards, museum exhibits — with runtime image database building.

Android iOS
videocam

AR Record & Replay

Capture an outdoor ARCore session once with ARRecorder, replay it 1:1 at the desk via ARSceneView(playbackDataset = file). Debug AR scenes without a phone in your hand.

Android EIS — image stabilization
animation

Physics & Gestures

Rigid-body physics (gravity, collisions, impulses), ray vs box/sphere collision, drag-rotate-scale-elevate gestures — all opt-in per node via isEditable.

All platforms
brightness_high

PBR Lighting & Post-FX

Image-based lighting from .hdr / .ktx, dynamic time-of-day sky, atmospheric fog, reflection probes, plus bloom, depth of field, SSAO, vignette, color grading, and tone mapping.

Filament RealityKit
vrpano

WebXR — AR & VR

Same engine on the web. SceneView.startAR(canvas) for phone passthrough AR with hit-test, anchors, light estimation. startVR(canvas) for headset VR with controllers and reference spaces.

Web immersive-ar immersive-vr
smart_toy

AI-First MCP Server

28 MCP tools incl. generate_scene, debug_issue, search_models (Sketchfab), analyze_project, and validate_code. 33 compilable samples + full llms.txt reference.

Claude Cursor Windsurf

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 28 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.

Developer tools

Debug, inspect, and replay your 3D and AR scenes in real time.

bug_report New in v4

AR Debug — Rerun.io

Stream ARCore and ARKit frame data to the Rerun viewer. Inspect camera poses, tracked planes, point clouds, and anchors — then scrub the timeline to replay any moment. Hit Save & Share in the demo to attach a fully-replayable session to a bug report.

Android iOS Python sidecar
Open hosted viewer → Open AR Rerun in the demo app →
videocam v4

AR Record & Replay

Capture an outdoor ARCore session once with rememberARRecorder(). Replay it 1:1 at the desk via ARSceneView(playbackDataset = file). Iterate on AR demos without leaving your chair.

Android 21 unit tests
straighten v4

Image Stabilization (EIS)

One-line opt-in to ARCore Electronic Image Stabilization for shake-free AR previews on supported devices. ARSceneView(imageStabilizationMode = EIS).

Android
cloud_sync

Cloud Anchors

Persistent AR experiences across devices, sessions, and OSes. CloudAnchorNode.host(ttlDays = N) and .resolve(id). Build multi-user AR by passing a string.

Android iOS
analytics

Anonymous telemetry

Usage analytics for MCP tool calls. No PII — just tool names, versions, and timestamps. Fully opt-out via SCENEVIEW_TELEMETRY=off.

MCP server Cloudflare Workers D1 + KV
View live worker health →
visibility

Render tests

Pixel-perfect golden-image regression suite. Filament render goldens plus Compose snapshot tests catch UI and rendering drift on every PR.

Android iOS Web (Playwright)
Browse golden suite →
bash — 80x24
$ npm install sceneview-mcp
+ sceneview-mcp@4.0.12
added 12 packages from 8 contributors and audited 42 packages in 1.2s

Success! Ready to use SceneView in your project.