---
title: TabletopKit
framework: TabletopKit
role: collection
role_heading: Framework
platforms: [visionOS 2.0+]
path: tabletopkit
---

# TabletopKit

Create multiplayer spatial games on a virtual table surface and use FaceTime to invite players.

## Overview

Overview TabletopKit helps you create a spatial multiplayer game on a table surface for visionOS, where players join your game using SharePlay. TabletopKit provides support for designing your game, implementing rules, rendering effects, and syncing multiplayer game state.

Follow these steps to implement your TabletopKit game: Configure your game on the tabletop and create the game pieces or equipment that players interact with. You provide the renderer that draws your game and its pieces. Implement the game rules and player interactions with the equipment. TabletopKit processes and represents player gestures as interactions. You observe the interactions and append your game-specific actions. Add effects to the RealityKit entities of renderable equipment and trigger them during interactions. For example, play a sound effect when a player throws a piece or an animation when a player achieves a goal. Set up multiplayer using SharePlay. Start a Group Activities session and provide it to TabletopKit. Then customize the spatial experience of your game. For example,  place the players in their seats and spectators around the room. To get started, create a TabletopGame object that represents your game instance and a TableSetup object that represents your game layout and equipment.

## Topics

### Essentials

- [Creating tabletop games](tabletopkit/creating-tabletop-games.md)
- [Synchronizing group gameplay with TabletopKit](tabletopkit/synchronizing-group-gameplay-with-tabletopkit.md)
- [TabletopGame](tabletopkit/tabletopgame.md)
- [TableSetup](tabletopkit/tablesetup.md)
- [Tabletop](tabletopkit/tabletop.md)
- [EntityTabletop](tabletopkit/entitytabletop.md)
- [TabletopShape](tabletopkit/tabletopshape.md)

### Seats

- [TableState](tabletopkit/tablestate.md)
- [TableSeat](tabletopkit/tableseat.md)
- [EntityTableSeat](tabletopkit/entitytableseat.md)
- [TableSeatIdentifier](tabletopkit/tableseatidentifier.md)
- [TableSeatState](tabletopkit/tableseatstate.md)
- [SeatState](tabletopkit/seatstate.md)

### Equipment

- [Implementing playing card overlap and physical characteristics](tabletopkit/implementing-playing-card-overlap-and-physical-characteristics.md)
- [Equipment](tabletopkit/equipment.md)
- [EquipmentCollection](tabletopkit/equipmentcollection.md)
- [EntityEquipment](tabletopkit/entityequipment.md)
- [EquipmentIdentifier](tabletopkit/equipmentidentifier.md)
- [EquipmentState](tabletopkit/equipmentstate.md)
- [EquipmentStateCollection](tabletopkit/equipmentstatecollection.md)
- [BaseEquipmentState](tabletopkit/baseequipmentstate.md)
- [CustomEquipmentState](tabletopkit/customequipmentstate.md)
- [MutableEquipmentState](tabletopkit/mutableequipmentstate.md)
- [CardState](tabletopkit/cardstate.md)
- [DieState](tabletopkit/diestate.md)
- [RawValueState](tabletopkit/rawvaluestate.md)
- [ControllingSeats](tabletopkit/controllingseats.md)

### Equipment layout

- [EquipmentLayout](tabletopkit/equipmentlayout.md)
- [DefaultEquipmentLayout](tabletopkit/defaultequipmentlayout.md)
- [EquipmentPose2D](tabletopkit/equipmentpose2d.md)
- [EquipmentPose3D](tabletopkit/equipmentpose3d.md)

### Score counters

- [ScoreCounter](tabletopkit/scorecounter.md)
- [CounterCollection](tabletopkit/countercollection.md)

### Players

- [Player](tabletopkit/player.md)
- [PlayerIdentifier](tabletopkit/playeridentifier.md)

### Actions

- [TabletopAction](tabletopkit/tabletopaction.md)
- [MoveEquipmentAction](tabletopkit/moveequipmentaction.md)
- [UpdateEquipmentAction](tabletopkit/updateequipmentaction.md)
- [SetTurnAction](tabletopkit/setturnaction.md)
- [UpdateCounterAction](tabletopkit/updatecounteraction.md)
- [CreateBookmarkAction](tabletopkit/createbookmarkaction.md)
- [CustomAction](tabletopkit/customaction.md)

### Interactions

- [Simulating dice rolls as a component for your game](tabletopkit/simulating-dice-rolls-as-a-component-for-your-game.md)
- [TabletopInteraction](tabletopkit/tabletopinteraction.md)
- [TossableRepresentation](tabletopkit/tossablerepresentation.md)
- [TableSnapshot](tabletopkit/tablesnapshot.md)
- [TableVisualState](tabletopkit/tablevisualstate.md)
- [TableCursor](tabletopkit/tablecursor.md)
- [TableCursorIdentifier](tabletopkit/tablecursoridentifier.md)

### Bookmarks

- [StateBookmark](tabletopkit/statebookmark.md)
- [StateBookmarkIdentifier](tabletopkit/statebookmarkidentifier.md)

### Multiplayer network session

- [TabletopNetworkSession](tabletopkit/tabletopnetworksession.md)
- [TabletopNetworkSessionCoordinator](tabletopkit/tabletopnetworksessioncoordinator.md)
- [TabletopSendMessageResult](tabletopkit/tabletopsendmessageresult.md)

### Debugging

- [DebugDrawOptions](tabletopkit/debugdrawoptions.md)
