<!--
{
  "availability" : [
    "iOS: 13.4.0 -",
    "iPadOS: 13.4.0 -",
    "macCatalyst: 13.4.0 -",
    "macOS: 10.15.4 -",
    "visionOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/NetworkCompatibilityToken",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:17RealityFoundation25NetworkCompatibilityTokenC"
  },
  "title" : "NetworkCompatibilityToken"
}
-->

# NetworkCompatibilityToken

An opaque token used to check the networking compatibility between two peers
in a multipeer connection.

```
final class NetworkCompatibilityToken
```

## Overview

[`RealityKit`](/documentation/RealityKit) apps running on incompatible versions of RealityKit can’t
connect and sync over the network. Use [`NetworkCompatibilityToken`](/documentation/RealityKit/NetworkCompatibilityToken) to
check if two peers can synchronize [`RealityKit`](/documentation/RealityKit) scenes over the network.
With this class, host applications can prevent incompatible clients from
joining.

Client apps send a copy of their token to the host when attempting to
connect to a host app. The host deserializes that token and calls
[`compatibilityWith(_:)`](/documentation/RealityKit/NetworkCompatibilityToken/compatibilityWith(_:)) on
[`NetworkCompatibilityToken`](/documentation/RealityKit/NetworkCompatibilityToken).[`local`](/documentation/RealityKit/NetworkCompatibilityToken/local). If
[`compatibilityWith(_:)`](/documentation/RealityKit/NetworkCompatibilityToken/compatibilityWith(_:)) returns
[`NetworkCompatibilityToken.Compatibility.compatible`](/documentation/RealityKit/NetworkCompatibilityToken/Compatibility/compatible),
the client and host can sync and it’s safe to proceed with the connection.
If [`compatibilityWith(_:)`](/documentation/RealityKit/NetworkCompatibilityToken/compatibilityWith(_:)) returns any other
value, the client that’s attempting to connect is incompatible and should be
ignored.

A client running a
<doc://com.apple.documentation/documentation/MultipeerConnectivity/MCNearbyServiceAdvertiser>,
for example, writes its own token into its
<doc://com.apple.documentation/documentation/MultipeerConnectivity/MCNearbyServiceAdvertiser/discoveryInfo>
dictionary. When the host (running a
<doc://com.apple.documentation/documentation/MultipeerConnectivity/MCNearbyServiceBrowser>)
discovers that client, it deserializes the client’s token from the
`discoverInfo` dictionary and uses it to check compatibility before inviting
the client to the
<doc://com.apple.documentation/documentation/MultipeerConnectivity/MCSession>.

> Note: Even if two peers are compatible, scene synchronization can fail for
> other reasons, such as packet corruption or a poor network connection.

## Topics

### Retrieving tokens

[`static let local: NetworkCompatibilityToken`](/documentation/RealityKit/NetworkCompatibilityToken/local)

A token containing the local peer’s networking compatibility info.

### Checking compatibility

[`func compatibilityWith(NetworkCompatibilityToken) -> NetworkCompatibilityToken.Compatibility`](/documentation/RealityKit/NetworkCompatibilityToken/compatibilityWith(_:))

Compares network compatibility tokens between the local device and
another device.

### Serializing tokens

[`init(from: any Decoder) throws`](/documentation/RealityKit/NetworkCompatibilityToken/init(from:))

Creates a new instance from a decoder.

[`func encode(to: any Encoder) throws`](/documentation/RealityKit/NetworkCompatibilityToken/encode(to:))

Writes the token’s data into an encoder.

### Enumerations

[`enum Compatibility`](/documentation/RealityKit/NetworkCompatibilityToken/Compatibility)

Indicates whether two devices running RealityKit are compatible and able
to connect and sync scenes.

## Relationships

### Conforms To

[`Encodable`](/documentation/Swift/Encodable)

[`Decodable`](/documentation/Swift/Decodable)

---

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)