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

# GKAchievementDescription

An object containing the text and artwork used to present an achievement to a player.

```
class GKAchievementDescription
```

## Overview

To present an achievement to the player in your interface, you can download the localized text and artwork for the achievements that you enter in App Store Connect. To get the localized text, use the [`loadAchievementDescriptions(completionHandler:)`](/documentation/GameKit/GKAchievementDescription/loadAchievementDescriptions(completionHandler:)) class method. GameKit passes an array of [`GKAchievementDescription`](/documentation/GameKit/GKAchievementDescription) objects to the completion handler that contains the text. To get the artwork for an achievement, use the [`loadImage(completionHandler:)`](/documentation/GameKit/GKAchievementDescription/loadImage(completionHandler:)) method.

To get standard images your game can use to present achievement progress to the player, use the [`incompleteAchievementImage()`](/documentation/GameKit/GKAchievementDescription/incompleteAchievementImage()) and [`placeholderCompletedAchievementImage()`](/documentation/GameKit/GKAchievementDescription/placeholderCompletedAchievementImage())) class methods.

Alternatively, either add the access point or display the dashboard so that the player can view achievements and navigate to their other Game Center data.

## Topics

### Retrieving Achievement Descriptions

[`+  loadAchievementDescriptionsWithCompletionHandler:`](/documentation/GameKit/GKAchievementDescription/loadAchievementDescriptions(completionHandler:))

Downloads the localized descriptions of achievements from Game Center.

### Reading and Writing Achievement Properties

[`identifier`](/documentation/GameKit/GKAchievementDescription/identifier)

The string you enter in App Store Connect that uniquely identifies the achievement.

[`title`](/documentation/GameKit/GKAchievementDescription/title)

A localized title for the achievement.

[`unachievedDescription`](/documentation/GameKit/GKAchievementDescription/unachievedDescription)

A localized description of the achievement that you display when the player hasn’t completed the achievement.

[`achievedDescription`](/documentation/GameKit/GKAchievementDescription/achievedDescription)

A localized description of the achievement that you display when the player completes the achievement.

[`maximumPoints`](/documentation/GameKit/GKAchievementDescription/maximumPoints)

The number of points that the player earns when completing the achievement.

[`image`](/documentation/GameKit/GKAchievementDescription/image)

The achievement’s artwork that you display when the player completes the achievement.

[`hidden`](/documentation/GameKit/GKAchievementDescription/isHidden)

A Boolean value that states whether the achievement is initially visible to players.

[`replayable`](/documentation/GameKit/GKAchievementDescription/isReplayable)

A Boolean value that states whether the player can earn the achievement multiple times.

[`rarityPercent`](/documentation/GameKit/GKAchievementDescription/rarityPercent-4bh6k)

The percentage of players of this game that earned the achievement.

[`rarityPercent`](/documentation/GameKit/GKAchievementDescription/rarityPercent-3zqw6)

The percentage of players of this game that earned the achievement.

### Working with Achievement Images

[`+  incompleteAchievementImage`](/documentation/GameKit/GKAchievementDescription/incompleteAchievementImage())

A common image that you can display when the player hasn’t completed the achievement.

[`+  placeholderCompletedAchievementImage`](/documentation/GameKit/GKAchievementDescription/placeholderCompletedAchievementImage())

A placeholder image that you can display when the player completes the achievement.

[`-  loadImageWithCompletionHandler:`](/documentation/GameKit/GKAchievementDescription/loadImage(completionHandler:))

Loads the image to display when the player completes the achievement.

### Retrieving Group Information

[`groupIdentifier`](/documentation/GameKit/GKAchievementDescription/groupIdentifier)

The identifier for the group that the achievement description is part of.

## Relationships

### Conforms To

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

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

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

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

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

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

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

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

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)