---
title: NISession
framework: nearbyinteraction
role: symbol
role_heading: Class
path: nearbyinteraction/nisession
---

# NISession

An object that identifies a unique connection between two peer devices.

## Declaration

```swift
class NISession
```

## Mentioned in

Discovering peers with Multipeer Connectivity Extending advanced direction finding and ranging Initiating and maintaining a session

## Overview

Overview This class represents the central mechanism to interact with nearby objects, for example, a peer Apple device or third-party accessory. After creating an NISession for a nearby object, the app interacts with the object by receiving NISessionDelegate callbacks. One session represents an interaction between the user and a single nearby object. To interact with multiple nearby objects, create a separate session for each. For more information, see Initiating and maintaining a session.

## Topics

### Ensuring feature support

- [deviceCapabilities](nearbyinteraction/nisession/devicecapabilities.md)
- [NIDeviceCapability](nearbyinteraction/nidevicecapability.md)

### Connecting to a peer device

- [discoveryToken](nearbyinteraction/nisession/discoverytoken.md)
- [NIDiscoveryToken](nearbyinteraction/nidiscoverytoken.md)
- [run(_:)](nearbyinteraction/nisession/run(_:).md)
- [configuration](nearbyinteraction/nisession/configuration.md)
- [delegateQueue](nearbyinteraction/nisession/delegatequeue.md)

### Managing life cycle

- [delegate](nearbyinteraction/nisession/delegate.md)
- [pause()](nearbyinteraction/nisession/pause().md)
- [invalidate()](nearbyinteraction/nisession/invalidate().md)

### Utilizing Camera Assistance

- [setARSession(_:)](nearbyinteraction/nisession/setarsession(_:).md)
- [worldTransform(for:)](nearbyinteraction/nisession/worldtransform(for:).md)

### Providing accessory state information

- [updateMotionState(_:forObjectWithToken:)](nearbyinteraction/nisession/updatemotionstate(_:forobjectwithtoken:).md)
- [NIMotionActivityState](nearbyinteraction/nimotionactivitystate.md)

### Deprecated

- [isSupported](nearbyinteraction/nisession/issupported.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Setup

- [Initiating and maintaining a session](nearbyinteraction/initiating-and-maintaining-a-session.md)
