---
title: supportedVideoFormats
framework: arkit
role: symbol
role_heading: Type Property
path: arkit/arconfiguration/supportedvideoformats
---

# supportedVideoFormats

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

## Declaration

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

## Discussion

Discussion By default, the videoFormat 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 objects in this array. important: 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 ARWorldTrackingConfiguration or 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.

## See Also

### Managing video capture options

- [videoFormat](arkit/arconfiguration/videoformat-swift.property.md)
- [ARConfiguration.VideoFormat](arkit/arconfiguration/videoformat-swift.class.md)
- [videoHDRAllowed](arkit/arconfiguration/videohdrallowed.md)
- [configurableCaptureDeviceForPrimaryCamera](arkit/arconfiguration/configurablecapturedeviceforprimarycamera.md)
- [recommendedVideoFormatFor4KResolution](arkit/arconfiguration/recommendedvideoformatfor4kresolution.md)
- [recommendedVideoFormatForHighResolutionFrameCapturing](arkit/arconfiguration/recommendedvideoformatforhighresolutionframecapturing.md)
