---
title: RoomBuilder
framework: roomplan
role: symbol
role_heading: Class
path: roomplan/roombuilder
---

# RoomBuilder

An object that generates a 3D asset from room-capture data.

## Declaration

```swift
class RoomBuilder
```

## Overview

Overview This class processes data from an earlier scan to generate a detailed CapturedRoom object. Your app receives raw captured room data (CapturedRoomData) through: The view delegate (RoomCaptureViewDelegate) callback captureView(shouldPresent:error:) for an app that provides room-scanning features through the framework-provided view (RoomCaptureView). The scan session (RoomCaptureSession) callback captureSession(_:didEndWith:error:) for an app that provides room-scanning features by displaying its own view. Your app generates a detailed captured room object by calling capturedRoom(from:) on the raw data. Your app can then inspect or modify this data before exporting the scanned room to a USDZ file.

## Topics

### Creating a room builder

- [init(options:)](roomplan/roombuilder/init(options:).md)
- [RoomBuilder.ConfigurationOptions](roomplan/roombuilder/configurationoptions.md)

### Processing a prior scan

- [capturedRoom(from:)](roomplan/roombuilder/capturedroom(from:).md)

### Handling errors

- [RoomBuilder.BuildError](roomplan/roombuilder/builderror.md)

## See Also

### 3D Asset Output

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