<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "ARKit",
  "identifier" : "/documentation/ARKit/ARObjectScanningConfiguration/planeDetection",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "ARKit"
    ],
    "preciseIdentifier" : "c:objc(cs)ARObjectScanningConfiguration(py)planeDetection"
  },
  "title" : "planeDetection"
}
-->

# planeDetection

A value specifying whether and how the session attempts to automatically detect flat surfaces in the camera-captured image.

```
var planeDetection: ARWorldTrackingConfiguration.PlaneDetection { get set }
```

## Discussion

By default, plane detection is off. If you enable [`horizontal`](/documentation/ARKit/ARWorldTrackingConfiguration/PlaneDetection-swift.struct/horizontal) or [`vertical`](/documentation/ARKit/ARWorldTrackingConfiguration/PlaneDetection-swift.struct/vertical) plane detection, the session adds [`ARPlaneAnchor`](/documentation/ARKit/ARPlaneAnchor) objects and notifies your [`ARSessionDelegate`](/documentation/ARKit/ARSessionDelegate), [`ARSCNViewDelegate`](/documentation/ARKit/ARSCNViewDelegate), or [`ARSKViewDelegate`](/documentation/ARKit/ARSKViewDelegate) object whenever its analysis of captured video images detects an area that appears to be a flat surface.

In an object-scanning session, you can use detected planes to help determine where the origin (anchor point) for a scanned object should be relative to its extent.

---

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)