Dear Apple Developer Team,
I would like to ask a few questions related to RoomPlan, Room API, USDZ export, and possible future spatial scanning workflows:
- Can the RoomPlan or Room API load an existing USDZ room model and compare it in real time with a new live scan of the same space?
- Is Apple considering extending RoomPlan beyond indoor rooms, for example to scan outdoor areas, house exteriors, terrain, and simple building volumes with rough dimensions?
- Will RoomPlan support multi-floor continuous scanning, custom object detection elements, and reliable export of the scanned result to USDZ for further CAD/BIM workflows?
- Is it possible to create a real-time comparator between a reference object in USDZ or STEP format and a physical object being scanned live, so that deviations in geometry or dimensions can be detected during scanning?
Best regards, Ivo Saina
Hi @Isain
A housekeeping note: please try to keep forum threads to a single question. Happy to take all four here since they're related.
1. Loading a USDZ and comparing to a live scan. Not supported. export(to:exportOptions:) is one-way; there's no API to load a USDZ back into RoomPlan types. CapturedRoomData is reloadable and CapturedRoom exposes surface and object transforms and dimensions, but identifiers don't persist across sessions and RoomPlan won't align independent scans into a shared frame. There is no built-in comparator.
2. Outdoor scanning. RoomPlan is indoor-only; its taxonomy (CapturedElementCategory) is built around walls, doors, windows, openings, and indoor furniture. For outdoor or unstructured environments, the nearest tool is ARKit's scene reconstruction, which returns ARMeshAnchor geometry with optional per-face classification (wall, floor, door, etc.). It gives you a mesh, not RoomPlan's structured primitives.
3. Multi-floor, custom object detection, CAD/BIM export.
- Multi-floor: Use StructureBuilder to merge
CapturedRooms into a CapturedStructure; each room carries astoryindex. See Scanning the rooms of a single structure. - Custom object detection: Not supported in RoomPlan; categories are fixed by CapturedElementCategory. For your own object classes, look at ARKit's ARReferenceObject with ARWorldTrackingConfiguration.detectionObjects.
- CAD/BIM export: USDExportOptions is an
OptionSetwithparametric(size-dependent primitives),mesh(triangle mesh), andmodel(3D models). Pick whichever your downstream pipeline ingests best.
4. Real-time comparator against a USDZ or STEP reference. Not provided by any Apple framework I'm aware of.