<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.12.0 -",
    "tvOS: 10.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 3.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "GameKit",
  "identifier" : "/documentation/GameKit/GKBasePlayer",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "GameKit"
    ],
    "preciseIdentifier" : "c:objc(cs)GKBasePlayer"
  },
  "title" : "GKBasePlayer"
}
-->

# GKBasePlayer

A class that provides common data and methods for the different player objects.

```
class GKBasePlayer
```

## Overview

[`GKBasePlayer`](/documentation/GameKit/GKBasePlayer) is the abstract superclass for the classes that represent the local player running your app and remote players who may join their games. Use the [`GKLocalPlayer`](/documentation/GameKit/GKLocalPlayer) subclass to initialize the local player who runs your app on their device. Then you can access the local player’s nickname, avatar, leaderboards, and achievements. You can also invite other players ([`GKPlayer`](/documentation/GameKit/GKPlayer) objects), and send information between players.

## Topics

### Identifying a Player

[`displayName`](/documentation/GameKit/GKBasePlayer/displayName)

The Game Center profile name for a player.

[`playerID`](/documentation/GameKit/GKBasePlayer/playerID)

A unique identifier for a player.



---

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)