Skip to content

Feature request: RoomPlan-like indoor space scanning API for ARCore Android SDK #1772

Description

@Isaina

Describe the issue / missing capability:

This is not exactly a runtime bug, but a missing high-level SDK capability in ARCore.

ARCore already provides useful building blocks such as motion tracking, plane detection, anchors, Depth API, and Scene Semantics. However, Android developers still do not have a standard high-level API comparable to Apple RoomPlan for scanning indoor spaces and generating a structured room model.

It would be very useful if ARCore provided an official RoomPlan-like API for Android devices, based on camera input today, and with future optional support for Android devices with LiDAR, ToF, or other depth sensors where available.

Expected behavior:

ARCore could provide an indoor space scanning API that allows developers to scan a room or small indoor space and receive a structured 3D representation, for example:

  • detected walls, floor, ceiling, doors, windows, and openings
  • approximate room dimensions
  • detected furniture or large objects where possible
  • a simple parametric room model
  • a mesh or simplified 3D model
  • export options such as glTF, OBJ, USDZ, or another open format
  • confidence values for detected geometry and measurements
  • callbacks during scanning to guide the user to missing areas

Why this is important:

Many Android developers would like to build applications for:

  • room measurement
  • interior design
  • renovation planning
  • real estate documentation
  • facility management
  • BIM / CAD workflows
  • HVAC and MEP surveying
  • insurance and damage documentation
  • digital twins of buildings
  • robotics and indoor mapping

At the moment, developers need to build this workflow manually using lower-level ARCore features, third-party SDKs, or custom ML / SLAM pipelines. A standard ARCore API would make this much more accessible and consistent across Android devices.

Suggested API direction:

A possible API could be something like:

val roomScanner = ArCoreRoomScanner(session)
roomScanner.startScan(
options = RoomScanOptions(
enableDepth = true,
enableSemanticDetection = true,
preferHardwareDepthSensor = true,
outputFormat = RoomOutputFormat.PARAMETRIC_MODEL
)
)
roomScanner.setOnRoomUpdatedListener { roomModel ->
// Walls, floor, ceiling, doors, windows, furniture, dimensions, confidence
}
roomScanner.export(RoomExportFormat.GLTF)

The API could work in different levels depending on device capability:

  1. Camera-only mode
    Uses ARCore motion tracking, plane detection, ML, and Depth API where supported.
  2. Depth-enhanced mode
    Uses ARCore Depth API for better geometry reconstruction.
  3. Future LiDAR / ToF mode
    Uses dedicated hardware depth sensors on Android devices if available.

Actual behavior:

Currently, ARCore does not provide a complete high-level indoor room scanning API that returns a structured room model similar to Apple RoomPlan. Developers can access lower-level AR features, but must create the full room detection, reconstruction, classification, measurement, and export pipeline themselves.

Feature request:

Please consider adding an official ARCore indoor space scanning / room reconstruction API for Android, similar in concept to Apple RoomPlan, but designed for the Android ecosystem and scalable across camera-only, depth-enabled, and future LiDAR / ToF devices.

This would be a major improvement for professional AR applications, CAD / BIM workflows, interior design, facility management, HVAC / MEP surveying, and digital twin use cases on Android.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions