---
title: GKGameActivity
framework: gamekit
role: symbol
role_heading: Class
path: gamekit/gkgameactivity
---

# GKGameActivity

An object that represents a single instance of a game activity for the current game.

## Declaration

```swift
class GKGameActivity
```

## Mentioned in

Creating activities for your game

## Topics

### Creating an activity

- [init(definition:)](gamekit/gkgameactivity/init(definition:).md)
- [start(definition:)](gamekit/gkgameactivity/start(definition:).md)
- [start(definition:partyCode:)](gamekit/gkgameactivity/start(definition:partycode:).md)

### Getting the activity definition

- [activityDefinition](gamekit/gkgameactivity/activitydefinition.md)

### Getting the activity state

- [state](gamekit/gkgameactivity/state-swift.property.md)
- [GKGameActivity.State](gamekit/gkgameactivity/state-swift.enum.md)

### Updating the activity state

- [start()](gamekit/gkgameactivity/start().md)
- [pause()](gamekit/gkgameactivity/pause().md)
- [resume()](gamekit/gkgameactivity/resume().md)
- [end()](gamekit/gkgameactivity/end().md)

### Getting and removing achievements

- [achievements](gamekit/gkgameactivity/achievements.md)
- [removeAchievements(_:)](gamekit/gkgameactivity/removeachievements(_:).md)
- [progress(on:)](gamekit/gkgameactivity/progress(on:).md)
- [setProgress(on:to:)](gamekit/gkgameactivity/setprogress(on:to:).md)
- [setAchievementCompleted(_:)](gamekit/gkgameactivity/setachievementcompleted(_:).md)

### Getting and removing leaderboard scores

- [leaderboardScores](gamekit/gkgameactivity/leaderboardscores.md)
- [score(on:)](gamekit/gkgameactivity/score(on:).md)
- [setScore(on:to:)](gamekit/gkgameactivity/setscore(on:to:).md)
- [setScore(on:to:context:)](gamekit/gkgameactivity/setscore(on:to:context:).md)
- [removeScores(from:)](gamekit/gkgameactivity/removescores(from:).md)

### Getting and verifying the party code

- [partyCode](gamekit/gkgameactivity/partycode.md)
- [partyURL](gamekit/gkgameactivity/partyurl.md)
- [validPartyCodeAlphabet](gamekit/gkgameactivity/validpartycodealphabet.md)
- [isValidPartyCode(_:)](gamekit/gkgameactivity/isvalidpartycode(_:).md)

### Getting the activity properties

- [duration](gamekit/gkgameactivity/duration.md)
- [startDate](gamekit/gkgameactivity/startdate.md)
- [endDate](gamekit/gkgameactivity/enddate.md)
- [creationDate](gamekit/gkgameactivity/creationdate.md)
- [lastResumeDate](gamekit/gkgameactivity/lastresumedate.md)

### Getting the custom user data

- [properties](gamekit/gkgameactivity/properties.md)

### Getting the activity identifiers

- [identifier](gamekit/gkgameactivity/identifier.md)

### Checking for an activity

- [checkPendingGameActivityExistence(completionHandler:)](gamekit/gkgameactivity/checkpendinggameactivityexistence(completionhandler:).md)

### Creating a matchmaking request

- [makeMatchRequest()](gamekit/gkgameactivity/makematchrequest().md)

### Performing a matchmaking request

- [findMatch(completionHandler:)](gamekit/gkgameactivity/findmatch(completionhandler:).md)
- [findPlayersForHostedMatch(completionHandler:)](gamekit/gkgameactivity/findplayersforhostedmatch(completionhandler:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Activities

- [Creating activities for your game](gamekit/creating-activities-for-your-game.md)
- [GKGameActivityDefinition](gamekit/gkgameactivitydefinition.md)
- [GKGameActivityListener](gamekit/gkgameactivitylistener.md)
