---
title: RoomCaptureView
framework: roomplan
role: symbol
role_heading: Class
path: roomplan/roomcaptureview
---

# RoomCaptureView

A view that enables the user to scan their room with the device’s camera.

## Declaration

```swift
@MainActor @objc @preconcurrency class RoomCaptureView
```

## Mentioned in

Scanning the rooms of a single structure

## Overview

Overview This class provides your app with a view that manages the scan process from start to finish, including: A camera feed that users look through to see their room in AR. Real-time graphic overlays that display on top of physical structures in the room to convey scanning progress. User instructions that explain how to position the device, if the framework requires a specific kind of device movement or perspective to complete the capture. 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. See Create a 3D model of an interior room by guiding the user through an AR experience for a sample code project that demonstrates RoomCaptureView.

## Topics

### Creating a room-capture view

- [init(frame:arSession:)](roomplan/roomcaptureview/init(frame:arsession:).md)
- [init(frame:)](roomplan/roomcaptureview/init(frame:).md)
- [init(coder:)](roomplan/roomcaptureview/init(coder:).md)

### Reacting to scan events

- [captureSession](roomplan/roomcaptureview/capturesession.md)
- [delegate](roomplan/roomcaptureview/delegate.md)

### Displaying scan progress

- [isModelEnabled](roomplan/roomcaptureview/ismodelenabled.md)

### Accessing view features

- [subviews](roomplan/roomcaptureview/subviews.md)
- [layoutSubviews()](roomplan/roomcaptureview/layoutsubviews().md)
- [encode(with:)](roomplan/roomcaptureview/encode(with:).md)
- [traitCollectionDidChange(_:)](roomplan/roomcaptureview/traitcollectiondidchange(_:).md)

## Relationships

### Inherits From

- [UIView](uikit/uiview.md)

### Conforms To

- [CALayerDelegate](quartzcore/calayerdelegate.md)
- [CLBodyIdentifiable](corelocation/clbodyidentifiable.md)
- [CMBodyIdentifiable](coremotion/cmbodyidentifiable.md)
- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSTouchBarProvider](appkit/nstouchbarprovider.md)
- [UIAccessibilityIdentification](uikit/uiaccessibilityidentification.md)
- [UIActivityItemsConfigurationProviding](uikit/uiactivityitemsconfigurationproviding.md)
- [UIAppearance](uikit/uiappearance.md)
- [UIAppearanceContainer](uikit/uiappearancecontainer.md)
- [UICoordinateSpace](uikit/uicoordinatespace.md)
- [UIDynamicItem](uikit/uidynamicitem.md)
- [UIFocusEnvironment](uikit/uifocusenvironment.md)
- [UIFocusItem](uikit/uifocusitem.md)
- [UIFocusItemContainer](uikit/uifocusitemcontainer.md)
- [UILargeContentViewerItem](uikit/uilargecontentvieweritem.md)
- [UIPasteConfigurationSupporting](uikit/uipasteconfigurationsupporting.md)
- [UIPopoverPresentationControllerSourceItem](uikit/uipopoverpresentationcontrollersourceitem.md)
- [UIResponderStandardEditActions](uikit/uiresponderstandardeditactions.md)
- [UITraitChangeObservable](uikit/uitraitchangeobservable-67e94.md)
- [UITraitEnvironment](uikit/uitraitenvironment.md)
- [UIUserActivityRestoring](uikit/uiuseractivityrestoring.md)

## See Also

### User Interface

- [RoomCaptureViewDelegate](roomplan/roomcaptureviewdelegate.md)
