---
title: PhotogrammetrySession.Output
framework: realitykit
role: symbol
role_heading: Enumeration
path: realitykit/photogrammetrysession/output
---

# PhotogrammetrySession.Output

Status updates on the object-creation process.

## Declaration

```swift
enum Output
```

## Mentioned in

Creating 3D objects from photographs

## Overview

Overview RealityKit’s Object Capture is a long-running background task. The session publishes messages status and error messages to outputs, a Swift AsyncSequence. Your app can respond to these updates using a for-await-in loop inside of a Task, as this example demonstrates. let waiter = Task {     do {         for try await output in session.outputs {             switch output {                 case .processingComplete:                     // RealityKit has processed all requests.                 case .requestError(let request, let error):                     // Request encountered an error.                 case .requestComplete(let request, let result):                     // RealityKit has finished processing a request.                 case .requestProgress(let request, let fractionComplete):                     // Periodic progress update. Update UI here.                 case requestProgressInfo(let request, let progressInfo):                     // Periodic progress info update.                 case .inputComplete:                     // Ingestion of images is complete and processing begins.                 case .invalidSample(let id, let reason):                     // RealityKit deemed a sample invalid and didn't use it.                 case .skippedSample(let id):                     // RealityKit was unable to use a provided sample.                 case .automaticDownsampling:                     // RealityKit downsampled the input images because of                     // resource constraints.                 case .processingCancelled                     // Processing was canceled.                 @unknown default:                     // Unrecognized output.             }         }     } catch {         print("Output: ERROR = \(String(describing: error))")         // Handle error.     } }

## Topics

### Monitoring session status

- [PhotogrammetrySession.Output.inputComplete](realitykit/photogrammetrysession/output/inputcomplete.md)
- [PhotogrammetrySession.Output.processingComplete](realitykit/photogrammetrysession/output/processingcomplete.md)
- [PhotogrammetrySession.Output.processingCancelled](realitykit/photogrammetrysession/output/processingcancelled.md)

### Monitoring request status

- [PhotogrammetrySession.Output.requestProgress(_:fractionComplete:)](realitykit/photogrammetrysession/output/requestprogress(_:fractioncomplete:).md)
- [PhotogrammetrySession.Output.requestComplete(_:_:)](realitykit/photogrammetrysession/output/requestcomplete(_:_:).md)
- [PhotogrammetrySession.Output.requestError(_:_:)](realitykit/photogrammetrysession/output/requesterror(_:_:).md)

### Monitoring data ingestion

- [PhotogrammetrySession.Output.invalidSample(id:reason:)](realitykit/photogrammetrysession/output/invalidsample(id:reason:).md)
- [PhotogrammetrySession.Output.automaticDownsampling](realitykit/photogrammetrysession/output/automaticdownsampling.md)
- [PhotogrammetrySession.Output.skippedSample(id:)](realitykit/photogrammetrysession/output/skippedsample(id:).md)

### Describing updates

- [localizedDescription](realitykit/photogrammetrysession/output/localizeddescription.md)

### Iterating outputs

- [PhotogrammetrySession.Outputs](realitykit/photogrammetrysession/outputs-swift.struct.md)

### Structures

- [PhotogrammetrySession.Output.ProgressInfo](realitykit/photogrammetrysession/output/progressinfo.md)

### Enumeration Cases

- [PhotogrammetrySession.Output.requestProgressInfo(_:_:)](realitykit/photogrammetrysession/output/requestprogressinfo(_:_:).md)
- [PhotogrammetrySession.Output.stitchingIncomplete](realitykit/photogrammetrysession/output/stitchingincomplete.md)

### Enumerations

- [PhotogrammetrySession.Output.ProcessingStage](realitykit/photogrammetrysession/output/processingstage.md)

## Relationships

### Conforms To

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Monitoring the session

- [activeRequests](realitykit/photogrammetrysession/activerequests.md)
- [isProcessing](realitykit/photogrammetrysession/isprocessing.md)
- [outputs](realitykit/photogrammetrysession/outputs-swift.property.md)
