The Only Compose-Native 3D & AR Library for Android

You’re building an Android app with Jetpack Compose. You need 3D. Maybe a product viewer, a model configurator, or AR furniture placement.

You search. You ask ChatGPT. You try Copilot. And you get: Unity (50MB+, no Compose), raw Filament (1000 lines t…


This content originally appeared on DEV Community and was authored by Thomas Gorisse

You're building an Android app with Jetpack Compose. You need 3D. Maybe a product viewer, a model configurator, or AR furniture placement.

You search. You ask ChatGPT. You try Copilot. And you get: Unity (50MB+, no Compose), raw Filament (1000 lines to render a cube), or Sceneform (deprecated since 2021).

There's a gap. Android has no built-in 3D composable. Until now.

SceneView: 3D as a Composable

SceneView treats 3D the same way Compose treats UI: declaratively. SceneView { } is a composable like Column { } or LazyList { }. Nodes are composables. State is Kotlin state.

implementation("io.github.sceneview:sceneview:4.0.0")

Display a 3D model in 15 lines

@Composable
fun ProductViewer() {
    val engine = rememberEngine()
    val modelLoader = rememberModelLoader(engine)

    SceneView(
        modifier = Modifier.fillMaxSize(),
        engine = engine,
        modelLoader = modelLoader,
        cameraManipulator = rememberCameraManipulator()
    ) {
        rememberModelInstance(modelLoader, "models/sneaker.glb")?.let {
            ModelNode(modelInstance = it, scaleToUnits = 1.0f, autoAnimate = true)
        }
    }
}

Place sneaker.glb in src/main/assets/models/. The model loads asynchronously, rememberModelInstance returns null while loading, then triggers recomposition. No callbacks, no lifecycle — just state.

What you get out of the box

SceneView includes 26+ composable node types:

  • ModelNode — GLB/glTF models with animation
  • CubeNode, SphereNode, CylinderNode — primitive geometry
  • ImageNode — textured quads
  • VideoNode — video textures on 3D surfaces
  • LightNode — point, spot, directional lights
  • TextNode — 3D text billboards
  • ViewNode — any Compose UI in 3D space

All powered by Google Filament — the same PBR engine used in Google Maps and Android Auto.

AR in Compose: One More Import

implementation("io.github.sceneview:arsceneview:4.0.0")
@Composable
fun ARFurniturePlacement() {
    val engine = rememberEngine()
    val modelLoader = rememberModelLoader(engine)
    val anchors = remember { mutableStateListOf<Anchor>() }
    val chair = rememberModelInstance(modelLoader, "models/chair.glb")

    ARSceneView(
        modifier = Modifier.fillMaxSize(),
        engine = engine,
        modelLoader = modelLoader,
        planeRenderer = true,
        onTouchEvent = { hitResult, _ ->
            hitResult?.let { anchors.add(it.createAnchor()) }
        }
    ) {
        anchors.forEach { anchor ->
            chair?.let { model ->
                AnchorNode(anchor = anchor) {
                    ModelNode(
                        modelInstance = model,
                        scaleToUnits = 0.8f,
                        isEditable = true
                    )
                }
            }
        }
    }
}

isEditable = true gives you drag, pinch-to-scale, and two-finger rotate. AR state is Compose state — when anchors changes, the scene recomposes.

Supported AR features: plane detection, image tracking, face mesh, cloud anchors, geospatial anchors, depth occlusion, light estimation.

Why Not Unity / Filament / Sceneform?

SceneView Unity Raw Filament Sceneform
Compose native Yes No No No
APK size ~5MB ~50MB+ ~3MB ~5MB
AR built-in Yes (ARCore) Plugin No Yes
Active v4.0.0 (2026) Yes Yes Deprecated (2021)
Learning curve Low High Very high Low
Scene graph 26+ node types Full engine None 5 node types
Cross-platform Android, iOS, Web All Android only Android only

SceneView wraps Filament internally — same rendering quality, 100x less code.

Cross-Platform: Same API, Native Renderers

SceneView also supports:

  • iOS/macOS/visionOS: SwiftUI + RealityKit (native Apple renderer)
  • Web: Kotlin/JS + Filament.js (WASM)
  • Flutter: PlatformView bridge
  • React Native: Fabric bridge

Each platform uses its native renderer — no cross-compiled runtime. The API mirrors across platforms: SceneView { ModelNode(...) } works on Android and iOS.

AI-First: Ask Any AI to Build Your 3D App

SceneView is designed so that AI assistants generate correct code on the first try:

  • llms.txt — 3000-line machine-readable API reference
  • MCP Server — 28 tools for Claude/Cursor (install: npx sceneview-mcp)
  • Copilot/Cursor/Windsurf rules — IDE-specific code generation patterns

Try it: open Claude and ask "build me an AR app with SceneView." The MCP server provides validated samples and the full API, so you get compilable code.

Industry-specific MCP servers are also available:

  • npx automotive-3d-mcp — car configurators
  • npx healthcare-3d-mcp — medical visualization
  • npx gaming-3d-mcp — game development
  • npx interior-design-3d-mcp — interior design

Get Started

// build.gradle.kts
implementation("io.github.sceneview:sceneview:4.0.0")    // 3D only
implementation("io.github.sceneview:arsceneview:4.0.0")   // 3D + AR

SceneView is open source (Apache 2.0) and actively maintained. Try it in your next Compose project.


This content originally appeared on DEV Community and was authored by Thomas Gorisse


Print Share Comment Cite Upload Translate Updates
APA

Thomas Gorisse | Sciencx (2026-04-13T00:07:17+00:00) The Only Compose-Native 3D & AR Library for Android. Retrieved from https://www.scien.cx/2026/04/13/the-only-compose-native-3d-ar-library-for-android/

MLA
" » The Only Compose-Native 3D & AR Library for Android." Thomas Gorisse | Sciencx - Monday April 13, 2026, https://www.scien.cx/2026/04/13/the-only-compose-native-3d-ar-library-for-android/
HARVARD
Thomas Gorisse | Sciencx Monday April 13, 2026 » The Only Compose-Native 3D & AR Library for Android., viewed ,<https://www.scien.cx/2026/04/13/the-only-compose-native-3d-ar-library-for-android/>
VANCOUVER
Thomas Gorisse | Sciencx - » The Only Compose-Native 3D & AR Library for Android. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2026/04/13/the-only-compose-native-3d-ar-library-for-android/
CHICAGO
" » The Only Compose-Native 3D & AR Library for Android." Thomas Gorisse | Sciencx - Accessed . https://www.scien.cx/2026/04/13/the-only-compose-native-3d-ar-library-for-android/
IEEE
" » The Only Compose-Native 3D & AR Library for Android." Thomas Gorisse | Sciencx [Online]. Available: https://www.scien.cx/2026/04/13/the-only-compose-native-3d-ar-library-for-android/. [Accessed: ]
rf:citation
» The Only Compose-Native 3D & AR Library for Android | Thomas Gorisse | Sciencx | https://www.scien.cx/2026/04/13/the-only-compose-native-3d-ar-library-for-android/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.