<!--
{
  "availability" : [
    "iOS: 4.1.0 - 7.0.0",
    "iPadOS: 4.1.0 - 7.0.0",
    "macOS: 10.8.0 - 10.10.0",
    "visionOS: 1.0.0 - 1.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "GameKit",
  "identifier" : "/documentation/GameKit/GKAchievementViewController",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "GameKit"
    ],
    "preciseIdentifier" : "c:objc(cs)GKAchievementViewController"
  },
  "title" : "GKAchievementViewController"
}
-->

# GKAchievementViewController

An `GKAchievementViewController` object provides a standard user interface to display achievement progress for the local player. If the [`GKGameCenterViewController`](/documentation/GameKit/GKGameCenterViewController) class is available, you should use it instead.

```
class GKAchievementViewController
```

## Overview> Important:
> Your game must initialize a local player before you can use any Game Center classes. If there is no initialized player, your game receives a ``doc://com.apple.gamekit/documentation/GameKit/GKError/Code/notAuthenticated`` error. For more information, see <doc://com.apple.gamekit/documentation/GameKit/authenticating-a-player>.

To show achievements for the local player, initialize a new `GKAchievementViewController` object and set the delegate. Then present the new view controller and wait for the delegate to be called. Once the delegate is called, dismiss the view controller.

On iOS, you present and dismiss the view controller from another view controller in your game, using the methods provided by the <doc://com.apple.documentation/documentation/UIKit/UIViewController> class. In macOS, you use the [`GKDialogController`](/documentation/GameKit/GKDialogController) class to present and dismiss the view controller in a window.

### Subclassing Notes

The `GKAchievementViewController` class is not intended to be subclassed.

## Topics

### Setting the Delegate

[`achievementDelegate`](/documentation/GameKit/GKAchievementViewController/achievementDelegate)

The achievement view controller’s delegate.

## Relationships

### Conforms To

[`UIPasteConfigurationSupporting`](/documentation/UIKit/UIPasteConfigurationSupporting)

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

[`NSSeguePerforming`](/documentation/AppKit/NSSeguePerforming)

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

[`UIAppearanceContainer`](/documentation/UIKit/UIAppearanceContainer)

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

[`UITraitChangeObservable-67e94`](/documentation/UIKit/UITraitChangeObservable-67e94)

[`NSUserInterfaceItemIdentification`](/documentation/AppKit/NSUserInterfaceItemIdentification)

[`NSEditor`](/documentation/AppKit/NSEditor)

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

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

[`NSTouchBarProvider`](/documentation/AppKit/NSTouchBarProvider)

[`UIResponderStandardEditActions`](/documentation/UIKit/UIResponderStandardEditActions)

[`UIUserActivityRestoring`](/documentation/UIKit/UIUserActivityRestoring)

[`UIFocusEnvironment`](/documentation/UIKit/UIFocusEnvironment)

[`UIActivityItemsConfigurationProviding`](/documentation/UIKit/UIActivityItemsConfigurationProviding)

[`NSCoding`](/documentation/Foundation/NSCoding)

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

[`NSUserActivityRestoring`](/documentation/AppKit/NSUserActivityRestoring)

[`UITraitEnvironment`](/documentation/UIKit/UITraitEnvironment)

[`GKViewController`](/documentation/GameKit/GKViewController)

[`UIStateRestoring`](/documentation/UIKit/UIStateRestoring)

[`NSExtensionRequestHandling`](/documentation/Foundation/NSExtensionRequestHandling)

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

[`UIContentContainer`](/documentation/UIKit/UIContentContainer)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`NSStandardKeyBindingResponding`](/documentation/AppKit/NSStandardKeyBindingResponding)

### Inherits From

[`GKGameCenterViewController`](/documentation/GameKit/GKGameCenterViewController)

---

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)