---
title: PhotogrammetrySession.Request.Detail
framework: realitykit
role: symbol
role_heading: Enumeration
path: realitykit/photogrammetrysession/request/detail
---

# PhotogrammetrySession.Request.Detail

Supported levels of detail for a request.

## Declaration

```swift
enum Detail
```

## Overview

Overview On iOS, only one detail level – .reduced – is currently supported.  This level is optimized for generation and viewing entirely on mobile devices. On macOS, RealityKit object creation can generate models at different levels of detail. Higher levels of detail may take longer to create, require more memory and processing power to generate, and create objects with more complex geometry and texture requirements. Set a Level of Complexity Each detail level corresponds to an object of a specific size and complexity. Here’s the expected final size of the generated object from each detail level.  |  |   |  |   |  |   |  |   |  |   |  |   |  |  Create Texture Maps Each detail level produces a 3D object with texture maps. The higher the complexity level, the larger the generated texture maps, and the more memory the system requires to display those objects in an AR scene. RealityKit creates five texture maps at the .full detail level: a single diffuse map, normal map, ambient occlusion map, roughness map, and displacement map. For .preview, .reduced, and .medium  detail levels, it produces just the single diffuse, normal and ambient occlusion maps. When producing a model at the .raw detail level, only diffuse texture maps are created, but RealityKit may create up to 16 diffuse maps, each covering different parts of the model. Raw models are produced at the highest resolution possible from the source images, so they don’t benefit from having the other types of texture maps, which are used to supplement a low-resolution model with data from a higher-resolution version of the same model. Raw models aren’t suitable for use in an AR scene and you should only use this setting if you plan to export the model to a 3D software package. Custom detail level can be used to specify several parameters of the output mesh and textures to provide more control over the produced assets than the preset levels. Here are the texture map sizes generated for each detail level and the amount of texture memory the uncompressed textures use at runtime.  |  |   |  |   |  |   |  |   |  |   |  |   |  |

## Topics

### Specifying a level of detail

- [PhotogrammetrySession.Request.Detail.preview](realitykit/photogrammetrysession/request/detail/preview.md)
- [PhotogrammetrySession.Request.Detail.reduced](realitykit/photogrammetrysession/request/detail/reduced.md)
- [PhotogrammetrySession.Request.Detail.medium](realitykit/photogrammetrysession/request/detail/medium.md)
- [PhotogrammetrySession.Request.Detail.full](realitykit/photogrammetrysession/request/detail/full.md)
- [PhotogrammetrySession.Request.Detail.raw](realitykit/photogrammetrysession/request/detail/raw.md)

### Enumeration Cases

- [PhotogrammetrySession.Request.Detail.custom](realitykit/photogrammetrysession/request/detail/custom.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Specifying the output

- [PhotogrammetrySession.Request.modelFile(url:detail:geometry:)](realitykit/photogrammetrysession/request/modelfile(url:detail:geometry:).md)
- [PhotogrammetrySession.Request.modelEntity(detail:geometry:)](realitykit/photogrammetrysession/request/modelentity(detail:geometry:).md)
- [PhotogrammetrySession.Request.bounds](realitykit/photogrammetrysession/request/bounds.md)
