<!--
{
  "availability" : [
    "iOS: 11.0.0 -",
    "iPadOS: 11.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ARKit",
  "identifier" : "/documentation/ARKit/ARSessionDelegate/session(_:didRemove:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "ARKit"
    ],
    "preciseIdentifier" : "c:objc(pl)ARSessionDelegate(im)session:didRemoveAnchors:"
  },
  "title" : "session(_:didRemove:)"
}
-->

# session(_:didRemove:)

Tells the delegate that one or more anchors have been removed from the session.

```
optional func session(_ session: ARSession, didRemove anchors: [ARAnchor])
```

## Parameters

`session`

The session providing information.

`anchors`

The anchors newly removed from the session.

## Discussion

Depending on the session configuration, ARKit may automatically remove anchors from a session.

If you display an AR experience using SceneKit or SpriteKit, you can instead implement one of the following methods instead to track not only the anchors in the session but also any corresponding SceneKit or SpriteKit content:

- [`ARSCNView`](/documentation/ARKit/ARSCNView): [`renderer(_:didRemove:for:)`](/documentation/ARKit/ARSCNViewDelegate/renderer(_:didRemove:for:))
- [`ARSKView`](/documentation/ARKit/ARSKView): [`view(_:didRemove:for:)`](/documentation/ARKit/ARSKViewDelegate/view(_:didRemove:for:))

---

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)