sceneview  by sceneview

Cross-platform 3D and AR SDK for native UI frameworks

Created 4 years ago
1,154 stars

Top 33.2% on SourcePulse

GitHubView on GitHub
Project Summary

Sceneview provides a unified SDK for building 3D and Augmented Reality experiences across Android, iOS, Web, Desktop, TV, Flutter, and React Native. It enables developers to leverage familiar UI frameworks like Jetpack Compose and SwiftUI, offering a consistent development model across diverse platforms without extensive engine boilerplate. The primary benefit is rapid development of cross-platform 3D/AR applications with a simplified API.

How It Works

The project utilizes a Kotlin Multiplatform (KMP) core (sceneview-core) for shared logic (math, collision, animation) and integrates with native platform renderers: Filament for Android and Web, RealityKit for Apple platforms, and a software renderer for Desktop. It seamlessly embeds into native UI frameworks such as Jetpack Compose (Android) and SwiftUI (iOS/macOS/visionOS), abstracting away complex lifecycle management and engine setup. This approach allows developers to define scenes and AR experiences using composable nodes directly within their existing UI code.

Quick Start & Requirements

  • Android: Add implementation("io.github.sceneview:sceneview:3.3.0") for 3D or arsceneview:3.3.0 for AR.
  • iOS/macOS/visionOS: Use Swift Package Manager with https://github.com/sceneview/sceneview-swift.git (version 3.3.0).
  • Web: Install via npm install sceneview-web or use a CDN.
  • Dependencies: Requires platform-specific rendering engines (Filament, RealityKit, Filament.js), ARCore (Android), and WebXR (Web).
  • Links: Website, Documentation, Discord, Contributing, Changelog, Migration v2 -> v3.

Highlighted Details

  • AI Integration: Designed as an "AI-first" SDK, it integrates with AI assistants (via MCP) to generate correct, compilable 3D/AR code using specialized tools and validators.
  • Cross-Platform Native UI: Offers stable support for Android (Filament/Compose) and integrates with SwiftUI (iOS/macOS/visionOS), Kotlin/JS + WebXR (Web).
  • Extensive Node Types: Provides a rich set of composable nodes for rendering glTF/GLB models, procedural geometry, lights, images, UI views, and custom meshes.
  • Lightweight Web Viewer: The web version is approximately 25 KB, powered by Filament.js WASM.

Maintenance & Community

The project is supported through GitHub Sponsors and Open Collective. Community interaction is facilitated via a Discord server.

Licensing & Compatibility

License information is not explicitly provided in the README. Compatibility for commercial use or closed-source linking would require clarification on the licensing terms.

Limitations & Caveats

Android TV, iOS/macOS/visionOS, Web, Desktop, Flutter, and React Native platforms are currently in 'Alpha' status, indicating potential instability or incomplete features. The Desktop platform uses a software renderer placeholder, not the full SceneView implementation.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
122
Issues (30d)
24
Star History
35 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.