---
title: "endTurn(withNextParticipants:turnTimeout:match:completionHandler:)"
framework: gamekit
role: symbol
role_heading: Instance Method
path: "gamekit/gkturnbasedmatch/endturn(withnextparticipants:turntimeout:match:completionhandler:)"
---

# endTurn(withNextParticipants:turnTimeout:match:completionHandler:)

Passes the turn from the current participant to the next participant.

## Declaration

```swift
func endTurn(withNextParticipants nextParticipants: [GKTurnBasedParticipant], turnTimeout timeout: TimeInterval, match matchData: Data, completionHandler: (@Sendable ((any Error)?) -> Void)? = nil)
```

```swift
func endTurn(withNextParticipants nextParticipants: [GKTurnBasedParticipant], turnTimeout timeout: TimeInterval, match matchData: Data) async throws
```

## Parameters

- `nextParticipants`: Match participants in the order you want Game Center to pass the turn. Game Center passes the turn to the next participant in the array when communication fails or a participant doesn’t finish their turn within the time limit. Elements in this array must be in the doc://com.apple.gamekit/documentation/GameKit/GKTurnBasedMatch/participants property.
- `timeout`: The length of time a participant has to complete their turn before Game Center passes the turn to the next participant. The maximum value is 90 days.
- `matchData`: Your game-specific data representing the match state. For example, include information needed for the next participant to take their turn in this object. Don’t pass nil as this parameter.
- `completionHandler`: The block that GameKit calls when it completes the request. The block receives the following parameter:

## Mentioned in

Starting turn-based matches and passing turns between players

## Discussion

Discussion Invoke this method only when the local player is the current participant. To receive turn-based events that this method generates, register a listener that conforms to the GKTurnBasedEventListener protocol with the local player. See Starting turn-based matches and passing turns between players.

## See Also

### Ending Turns and Saving Data

- [saveCurrentTurn(withMatch:completionHandler:)](gamekit/gkturnbasedmatch/savecurrentturn(withmatch:completionhandler:).md)
- [Turn Timeouts](gamekit/turn-timeouts.md)
