---
title: ARSessionDelegate
framework: arkit
role: symbol
role_heading: Protocol
path: arkit/arsessiondelegate
---

# ARSessionDelegate

Methods you can implement to receive captured video frame images and tracking state from an AR session.

## Declaration

```swift
protocol ARSessionDelegate : ARSessionObserver
```

## Overview

Overview Implement this protocol if you need to work directly with ARFrame objects captured by the session or directly follow changes to the session’s set of tracked ARAnchor objects. Typically, you adopt this protocol when building a custom view for displaying AR content—if you display content with SceneKit or SpriteKit, the ARSCNViewDelegate and ARSKViewDelegate protocols provide similar information and integrate with those technologies. This protocol extends the ARSessionObserver protocol, so your session delegate can also implement those methods to respond to changes in session status.

## Topics

### Receiving Camera Frames

- [session(_:didUpdate:)](arkit/arsessiondelegate/session(_:didupdate:)-9v2kw.md)

### Handling Content Updates

- [session(_:didAdd:)](arkit/arsessiondelegate/session(_:didadd:).md)
- [session(_:didUpdate:)](arkit/arsessiondelegate/session(_:didupdate:)-3qtt8.md)
- [session(_:didRemove:)](arkit/arsessiondelegate/session(_:didremove:).md)

## Relationships

### Inherits From

- [ARSessionObserver](arkit/arsessionobserver.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Responding to events

- [delegate](arkit/arsession/delegate.md)
- [delegateQueue](arkit/arsession/delegatequeue.md)
- [ARSessionObserver](arkit/arsessionobserver.md)
