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

# estimatedDepthData

A buffer that represents the estimated depth values from the camera feed that you use to occlude virtual content.

```
var estimatedDepthData: CVPixelBuffer? { get }
```

## Discussion

Each non-background pixel in the segmentation buffer maps to a depth value in this buffer. Use this to occlude people from the rendering of your app’s virtual content.

If you implement a custom renderer, you apply this property by using alpha and depth mattes provided with [`ARMatteGenerator`](/documentation/ARKit/ARMatteGenerator).

Apps using one of the standard renderers don’t need this property to occlude virtual content with people. The standard renderers (<doc://com.apple.documentation/documentation/RealityKit/ARView>, [`ARSCNView`](/documentation/ARKit/ARSCNView), and [`ARSKView`](/documentation/ARKit/ARSKView)) enable people occlusion when you add [`personSegmentation`](/documentation/ARKit/ARConfiguration/FrameSemantics-swift.struct/personSegmentation) or [`personSegmentationWithDepth`](/documentation/ARKit/ARConfiguration/FrameSemantics-swift.struct/personSegmentationWithDepth) to your configuration’s [`frameSemantics`](/documentation/ARKit/ARConfiguration/frameSemantics-swift.property).

---

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)