<!--
{
  "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/GKAchievement/percentComplete",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "GameKit"
    ],
    "preciseIdentifier" : "c:objc(cs)GKAchievement(py)percentComplete"
  },
  "title" : "percentComplete"
}
-->

# percentComplete

A percentage value that states how far the player has progressed on the achievement.

```
var percentComplete: Double { get set }
```

## Discussion

The default value for a newly initialized achievement object is `0`. The
range of legal values is between `0` and `100`, inclusive. You decide how to
calculate the percentage and when to change it. This value must be an integer
and can’t contain a decimal.

For example, if the player earns an achievement for discovering a location in
your game, then you’d report the achievement as 100 percent complete the first
time you report progress to Game Center. On the other hand, for an achievement
like “Capture 10 pirates”, your reporting mechanism increments by 10 percent
each time the player captures a pirate.

---

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)