---
title: ARWorldTrackingConfiguration.PlaneDetection
framework: arkit
role: symbol
role_heading: Structure
path: arkit/arworldtrackingconfiguration/planedetection-swift.struct
---

# ARWorldTrackingConfiguration.PlaneDetection

Options for whether and how the framework detects flat surfaces in captured images.

## Declaration

```swift
struct PlaneDetection
```

## Overview

Overview By default, this configuration disables plane detection. If you enable horizontal or vertical plane detection, the session adds ARPlaneAnchor objects and notifies your ARSessionDelegate, ARSCNViewDelegate, or ARSKViewDelegate object when its analysis of captured video images detects an area that appears to be a flat surface. Use an empty set literal [] to specify no plane detection.

## Topics

### Plane Detection Option Creation

- [init(rawValue:)](arkit/arworldtrackingconfiguration/planedetection-swift.struct/init(rawvalue:).md)

### Plane Detection Options

- [horizontal](arkit/arworldtrackingconfiguration/planedetection-swift.struct/horizontal.md)
- [vertical](arkit/arworldtrackingconfiguration/planedetection-swift.struct/vertical.md)
- [horizontal](arkit/arworldtrackingconfiguration/planedetection-swift.struct/horizontal.md)
- [vertical](arkit/arworldtrackingconfiguration/planedetection-swift.struct/vertical.md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [ExpressibleByArrayLiteral](swift/expressiblebyarrayliteral.md)
- [OptionSet](swift/optionset.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [SetAlgebra](swift/setalgebra.md)

## See Also

### Enabling Plane Detection

- [planeDetection](arkit/arbodytrackingconfiguration/planedetection.md)
