<!--
{
  "availability" : [
    "iOS: 11.3.0 -",
    "iPadOS: 11.3.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ARKit",
  "identifier" : "/documentation/ARKit/ARConfiguration/supportedVideoFormats",
  "metadataVersion" : "0.1.0",
  "role" : "Type Property",
  "symbol" : {
    "kind" : "Type Property",
    "modules" : [
      "ARKit"
    ],
    "preciseIdentifier" : "c:objc(cs)ARConfiguration(cpy)supportedVideoFormats"
  },
  "title" : "supportedVideoFormats"
}
-->

# supportedVideoFormats

The set of video capture formats available on the current device.

```
class var supportedVideoFormats: [ARConfiguration.VideoFormat] { get }
```

## Discussion

By default, the [`videoFormat`](/documentation/ARKit/ARConfiguration/videoFormat-swift.property) property for a new session configuration matches the first video capture format in this array. To change the video format for a session, change that property’s value to one of the other [`ARConfiguration.VideoFormat`](/documentation/ARKit/ARConfiguration/VideoFormat-swift.class) objects in this array.

> Important:
> ``doc://com.apple.arkit/documentation/ARKit/ARConfiguration`` is an abstract base class, so its implementation of this property always returns an empty array. Read this property from the configuration subclass you plan to use for your AR session, such as ``doc://com.apple.arkit/documentation/ARKit/ARWorldTrackingConfiguration`` or ``doc://com.apple.arkit/documentation/ARKit/ARFaceTrackingConfiguration``.

Different devices and iOS versions offer different sets of supported video formats, but the order of this array always puts higher-quality formats before lower-quality formats. For best results across all devices and versions, choose formats based on their order in the array rather than on hard-coded minimum resolution or frame rate values.

---

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)