<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UISceneAccessory",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UISceneAccessory"
  },
  "title" : "UISceneAccessory"
}
-->

# UISceneAccessory

A type which can be used to register for a specific type of scene accessory presentation.

```
@MainActor class UISceneAccessory
```

## Overview

A scene accessory declares supplementary content that the system presents on the app’s behalf when an
associated piece of system functionality becomes available, for example when an external display is
connected. The app declares what content to provide; the system decides when and
where to present it. Scene accessories enhance the app’s experience when available, but the app must
remain fully functional without them.

Use an instance of this type along with `UIViewController.registerSceneAccessory(_:)`.

## Topics

### Creating a camera capture accessory

[`class func cameraCapture(sceneConfiguration: UISceneConfiguration) -> Self`](/documentation/UIKit/UISceneAccessory/cameraCapture(sceneConfiguration:))

Creates a scene accessory for presenting content during camera capture.

[`class func cameraCapture(sceneConfiguration: UISceneConfiguration, userInfo: Any) -> Self`](/documentation/UIKit/UISceneAccessory/cameraCapture(sceneConfiguration:userInfo:))

Creates a scene accessory for presenting content during camera capture, passing additional context to the
scene delegate.

### Type Methods

[`class func externalNonInteractive(sceneConfiguration: UISceneConfiguration) -> Self`](/documentation/UIKit/UISceneAccessory/externalNonInteractive(sceneConfiguration:))

Creates a new scene accessory configuration for presenting non-interactive content
on an external display.

[`class func externalNonInteractive(sceneConfiguration: UISceneConfiguration, userInfo: Any) -> Self`](/documentation/UIKit/UISceneAccessory/externalNonInteractive(sceneConfiguration:userInfo:))

Creates a new scene accessory configuration for presenting non-interactive content
on an external display.

## Relationships

### Conforms To

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`Sendable`](/documentation/Swift/Sendable)

[`CVarArg`](/documentation/Swift/CVarArg)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Hashable`](/documentation/Swift/Hashable)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)