<!--
{
  "documentType" : "article",
  "framework" : "RoomPlan",
  "identifier" : "/documentation/RoomPlan/captured-object-attributes",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Captured Object Attributes"
}
-->

# Captured Object Attributes

Determine details about the objects and surfaces that the framework identifies in a scan.

## Overview

Each [`CapturedRoom.Object`](/documentation/RoomPlan/CapturedRoom/Object) contains attributes that the framework observes during a scan that convey details about the object. For example, an object of category [`CapturedRoom.Object.Category.chair`](/documentation/RoomPlan/CapturedRoom/Object/Category-swift.enum/chair) may contain the attributes [`ChairType.stool`](/documentation/RoomPlan/ChairType/stool) and [`ChairLegType.star`](/documentation/RoomPlan/ChairLegType/star), which describes the framework’s observations of the chair during the scan. An object exposes these details through its [`attributes`](/documentation/RoomPlan/CapturedRoom/Object/attributes) array.

By reading the attribute information the framework sets on objects, your app can provide more informed utility with a scanned room, such as:

- A filtered list of product selections in a furniture catalog that matches just the categories and attributes of the present objects in the room.
- A more accurate visual representation, for example when rendering a virtual reality experience, by substituting the default object bounding boxes with detailed 3D models that your app chooses.

> Tip: If you export a scan result to USDZ, for example, with ``doc://com.apple.RoomPlan/documentation/RoomPlan/CapturedRoom/export(to:metadataURL:modelProvider:exportOptions:)``, objects output as bounding boxes. To substitute the boxes with detailed 3D models based on object attributes, see ``doc://com.apple.RoomPlan/documentation/RoomPlan/CapturedRoom/ModelProvider``.

## Topics

### Accessing object details

[`protocol CapturedRoomAttribute`](/documentation/RoomPlan/CapturedRoomAttribute)

Details about an object in the room that the framework observes during a scan.

[`enum CapturedElementCategory`](/documentation/RoomPlan/CapturedElementCategory)

The category of the particular object or surface.

### Describing chairs

[`enum ChairType`](/documentation/RoomPlan/ChairType)

Types of chair that the framework identifies in a captured room.

[`enum ChairArmType`](/documentation/RoomPlan/ChairArmType)

Types of armchair the framework identifies in a captured room.

[`enum ChairLegType`](/documentation/RoomPlan/ChairLegType)

Types of chair legs the framework identifies in a captured room.

[`enum ChairBackType`](/documentation/RoomPlan/ChairBackType)

Types of chair back the framework identifies in a captured room.

### Describing sofas

[`enum SofaType`](/documentation/RoomPlan/SofaType)

Types of sofa the framework identifies in a captured room.

### Describing closets

[`enum StorageType`](/documentation/RoomPlan/StorageType)

Types of storage area that the framework identifies in a captured room.

### Describing tables

[`enum TableType`](/documentation/RoomPlan/TableType)

Types of table the framework identifies in a captured room.

[`enum TableShapeType`](/documentation/RoomPlan/TableShapeType)

Different table shapes that the framework identifies in a captured room.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)