---
title: RoomPlan
framework: RoomPlan
role: collection
role_heading: Framework
platforms: [iOS 16.0+, iPadOS 16.0+, Mac Catalyst 16.0+]
path: roomplan
---

# RoomPlan

Create a 3D model of a room by interactively guiding people to scan their physical environment using a device’s camera.

## Overview

Overview Use RoomPlan to create a 3D model of an interior room. The framework uses a device’s sensors, trained ML models, and RealityKit’s rendering capabilities to capture the physical surroundings of an interior room. For example, the framework inspects a device’s camera feed and LiDAR readings to identify walls, windows, openings, and doors. RoomPlan also recognizes room features, furniture, and appliances, such as a fireplace, bed, or refrigerator, and provides that information to the app. To begin a capture, the app presents a view (RoomCaptureView) that the user looks through to see their room in AR. The view displays virtual cues as they move around the room: Real-time graphic overlays display on top of physical structures in the room to convey scanning progress. If the framework requires a specific kind of device movement or perspective to complete the capture, the UI displays instructions that explain how to position the device.

When the app determines that the current scan is complete, the view displays a small-scale version of the scanned room for the user to approve. Alternatively, your app can display custom graphics during the scanning process by creating and using a scan session object (RoomCaptureSession) directly. Access the captured results The framework outputs a scan as parametric data, which makes it easy for your app to modify the scanned room’s individual components. RoomPlan also provides the results in various Universal Scene Description (USD) formats. With these assets, your app can implement custom features, such as the following: Estimate the size of particular areas of a room. Preview virtual furniture from a catalog in a variety of styles and positions. Integrate a version of a scanned room or structure in a 3D game.

Process scan results on macOS with Mac Catalyst Mac apps built with Mac Catalyst can access CapturedRoom and CapturedStructure and can perform encoding, decoding, and exporting. Environment scanning relies on a camera, LiDAR, and other sensors that support augmented reality on iOS and iPad OS devices. However, macOS apps built with Mac Catalyst can process the results of room-capture sessions performed on those devices. RoomPlan ignores all capture-session-related calls on macOS apps built with Mac Catalyst.

## Topics

### Essentials

- [Create a 3D model of an interior room by guiding the user through an AR experience](roomplan/create-a-3d-model-of-an-interior-room-by-guiding-the-user-through-an-ar-experience.md)

### User Interface

- [RoomCaptureView](roomplan/roomcaptureview.md)
- [RoomCaptureViewDelegate](roomplan/roomcaptureviewdelegate.md)

### Scanning Protocol

- [RoomCaptureSession](roomplan/roomcapturesession.md)
- [RoomCaptureSessionDelegate](roomplan/roomcapturesessiondelegate.md)

### Captured Data

- [Merging multiple scans into a single structure](roomplan/merging-multiple-scans-into-a-single-structure.md)
- [Scanning the rooms of a single structure](roomplan/scanning-the-rooms-of-a-single-structure.md)
- [CapturedRoom](roomplan/capturedroom.md)
- [CapturedStructure](roomplan/capturedstructure.md)
- [CapturedRoomData](roomplan/capturedroomdata.md)
- [Captured Object Attributes](roomplan/captured-object-attributes.md)

### 3D Asset Output

- [Providing custom models for captured rooms and structure exports](roomplan/providing-custom-models-for-captured-rooms-and-structure-exports.md)
- [RoomBuilder](roomplan/roombuilder.md)
- [StructureBuilder](roomplan/structurebuilder.md)
- [CapturedRoom.USDExportOptions](roomplan/capturedroom/usdexportoptions.md)
