<!--
{
  "availability" : [
    "iOS: 3.0.0 - 7.0.0",
    "iPadOS: 3.0.0 - 7.0.0",
    "macOS: 10.8.0 - 10.10.0",
    "tvOS: 9.0.0 - 18.4.0",
    "visionOS: 1.0.0 - 1.0.0",
    "watchOS: 3.0.0 - 3.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "GameKit",
  "identifier" : "/documentation/GameKit/GKSessionMode",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "GameKit"
    ],
    "preciseIdentifier" : "c:@E@GKSessionMode"
  },
  "title" : "GKSessionMode"
}
-->

# GKSessionMode

Modes that determine how a session interacts with other peers.

```
enum GKSessionMode
```

## Topics

### Constants

[`GKSessionModeServer`](/documentation/GameKit/GKSessionMode/server)

A server advertises itself to local devices using its [`sessionID`](/documentation/GameKit/GKSession/sessionID) property.

[`GKSessionModeClient`](/documentation/GameKit/GKSessionMode/client)

A client searches for servers advertising the same [`sessionID`](/documentation/GameKit/GKSession/sessionID) property.

[`GKSessionModePeer`](/documentation/GameKit/GKSessionMode/peer)

A peer advertises like a server and searches like a client.

## Relationships

### Conforms To

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

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

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

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

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

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

---

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)