---
title: "playerChangedSeats(_:oldSeat:newSeat:snapshot:)"
framework: tabletopkit
role: symbol
role_heading: Instance Method
path: "tabletopkit/tabletopgame/observer/playerchangedseats(_:oldseat:newseat:snapshot:)"
---

# playerChangedSeats(_:oldSeat:newSeat:snapshot:)

Called whenever the Seat for any player has changed in the shared network table state. playerChandedSeats callbacks are also reliably ordered with actionWasConfirmed and actionWasRolledBack callbacks, and are also network delayed behind any changes to the speculative visible table state.

## Declaration

```swift
func playerChangedSeats(_ player: Player, oldSeat: (any TableSeat)?, newSeat: (any TableSeat)?, snapshot: TableSnapshot)
```

## See Also

### Handling seat actions

- [stateDidResetToBookmark(_:)](tabletopkit/tabletopgame/observer/statedidresettobookmark(_:).md)
