<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ARKit",
  "identifier" : "/documentation/ARKit/ARConfiguration/FrameSemantics-swift.struct/personSegmentationWithDepth",
  "metadataVersion" : "0.1.0",
  "role" : "Type Property",
  "symbol" : {
    "kind" : "Type Property",
    "modules" : [
      "ARKit"
    ],
    "preciseIdentifier" : "c:@E@ARFrameSemantics@ARFrameSemanticPersonSegmentationWithDepth"
  },
  "title" : "personSegmentationWithDepth"
}
-->

# personSegmentationWithDepth

An option that indicates that people occlude your app’s virtual content depending on depth.

```
static var personSegmentationWithDepth: ARConfiguration.FrameSemantics { get }
```

## Discussion

The [`personSegmentationWithDepth`](/documentation/ARKit/ARConfiguration/FrameSemantics-swift.struct/personSegmentationWithDepth) frame semantic specifies that any person ARKit detects in the camera feed should occlude virtual content, depending on the person’s depth in the scene.

When this option is enabled, ARKit sets the [`estimatedDepthData`](/documentation/ARKit/ARFrame/estimatedDepthData) and [`segmentationBuffer`](/documentation/ARKit/ARFrame/segmentationBuffer) properties to serve as a foundation for people occlusion. The standard renderers (<doc://com.apple.documentation/documentation/RealityKit/ARView>, and [`ARSCNView`](/documentation/ARKit/ARSCNView)) use those properties to implement people occlusion for you. See [`frameSemantics`](/documentation/ARKit/ARConfiguration/frameSemantics-swift.property) for more information.

---

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)