TabletopKit provides the building blocks for spatial tabletop games on visionOS. You model the pieces of play through Equipment and EquipmentState, lay them out on the board with EquipmentLayout and its resolvers, and seat participants using TableSeat, SeatState, and Player. Built-in equipment states such as CardState, DieState, CounterCollection, and ScoreCounter, together with actions like MoveEquipmentAction and SetTurnAction, let you drive and synchronize shared game state as turns proceed.
Essentials 8
The top-level game object and shared table state that drive a spatial tabletop experience on visionOS.
- ClTabletopGamevisionOS 2.0+An object that manages the setup and gameplay of a tabletop game.
- PrTabletopvisionOS 2.0+A protocol for the table surface in your game.
- PrEntityTabletopvisionOS 2.0+A protocol for the table surface in your game when you render it using RealityKit.
- StTableSetupvisionOS 2.0+An object that represents the arrangement of seats, equipment, and counters around the game table.
- StTableStatevisionOS 26.0+The state of the table that can be queried and modified.
- StTableSnapshotvisionOS 2.0+A snapshot of the current state of the table.
- StTableVisualStatevisionOS 2.0+A structure that represents the appearance of an object on the table.
- StTabletopShapevisionOS 2.0+An object that represents the physical properties of the table.
Equipment 6
Types that model the pieces of play and arrange them in collections on the board.
- PrEquipmentvisionOS 2.0+A protocol for equipment that players directly interact with in a game.
- PrEntityEquipmentvisionOS 2.0+A protocol for equipment in a game that you render using RealityKit.
- StEquipmentCollectionvisionOS 26.0+A collection of equipment whose state can be inspected and modified.
- StEquipmentIdentifiervisionOS 2.0+A unique identifier for equipment.
- PrEntityRenderDelegatevisionOS 2.0+A protocol for the object that renders your entire game using RealityKit.
- StTossableRepresentationvisionOS 2.0+An object that represents geometric shapes that the player can throw
Equipment State 11
Protocols and built-in states that describe the current condition of equipment such as cards, dice, and counters.
- PrEquipmentStatevisionOS 2.0+A protocol for the equipment data that TabletopKit syncs between players.
- PrMutableEquipmentStatevisionOS 26.0+A protocol for equipment data that TabletopKit syncs between players, and that can be mutated.
- PrCustomEquipmentStatevisionOS 26.0+A specialized protocol for the equipment state that allows to accommodate custom data that TabletopKit syncs between players.
- StBaseEquipmentStatevisionOS 2.0+A state for equipment that contains no equipment-specific data.
- StRawValueStatevisionOS 2.0+A state for equipment that contains a game-specific value.
- StCardStatevisionOS 2.0+A state for cards that contains face up and down information.
- StDieStatevisionOS 2.0+A state for dice that contains the current value.
- StCounterCollectionvisionOS 26.0+A collection of score counters that can be inspected and modified.
- StScoreCountervisionOS 2.0+An object that keeps a score in a tabletop game.
- StEquipmentStateCollectionvisionOS 26.0+A collection of equipment states that can be inspected and modified.
- StResolvedEquipmentStatevisionOS 2.0+A computed equipment state ready for presentation.
Board Layout 7
Layout protocols and resolvers that compute where equipment rests on the table.
- PrEquipmentLayoutvisionOS 2.0+A protocol for objects that describe the layout of equipment.
- StDefaultEquipmentLayoutvisionOS 2.0+An object that provides a standard configuration for equipment layout.
- StEquipmentLayoutResolvervisionOS 2.0+A type that resolves an equipment layout into concrete positions.
- StResolvedEquipmentLayoutvisionOS 2.0+A computed layout that places equipment at concrete positions.
- StEquipmentStateResolvervisionOS 2.0+A type that resolves equipment state for layout and presentation.
- StEquipmentPose2DvisionOS 2.0+An object that represents the position and rotation of equipment on the XZ plane.
- StEquipmentPose3DvisionOS 2.0+An object that represents the 3D position and orientation of equipment on the table.
Seats and Players 10
Types that seat participants at the table and identify the players who occupy those seats.
- PrTableSeatvisionOS 2.0+A protocol for seats at the table that players occupy.
- PrEntityTableSeatvisionOS 2.0+A protocol for seats at the table that you render using RealityKit.
- PrSeatStatevisionOS 2.0+A protocol for seat data that TabletopKit syncs between players.
- StTableSeatStatevisionOS 2.0+The data associated with a seat that a player occupies.
- StTableSeatIdentifiervisionOS 2.0+A unique identifier for seats.
- StSeatStateResolvervisionOS 2.0+A type that resolves seat state for presentation.
- StResolvedSeatStatevisionOS 2.0+A computed seat state ready for presentation.
- StPlayervisionOS 2.0+A player in a tabletop game.
- StPlayerIdentifiervisionOS 2.0+A unique identifier for players.
- EnControllingSeatsvisionOS 2.0+The seats that can manipulate or interact with the equipment.
Actions 10
Actions that mutate and synchronize shared game state as play and turns proceed.
- PrTabletopActionvisionOS 2.0+A protocol for objects that describe an action in a tabletop game.
- PrCustomActionvisionOS 26.0+A protocol that represents an action whose behavior is implemented outside of TabletopKit.
- StAnyCustomActionvisionOS 26.0+A type-erased wrapper around a custom action.
- StMoveEquipmentActionvisionOS 2.0+An action that moves a piece of equipment on the table or changes the grouping.
- StUpdateEquipmentActionvisionOS 2.0+An action that updates properties of equipment on the table.
- StUpdateCounterActionvisionOS 2.0+An action that updates the game counter.
- StSetTurnActionvisionOS 2.0+An action that sets the current seats participating in the current turn.
- StCreateBookmarkActionvisionOS 2.0+An action that takes a snapshot of the game.
- StTabletopActionResolvervisionOS 2.0+A type that resolves a tabletop action into changes applied to game state.
- StResolvedTabletopActionvisionOS 2.0+A computed action prepared to apply to shared game state.
Interaction and Cursors 3
Types that handle player interaction and track cursors moving across the table.
- ClTabletopInteractionvisionOS 2.0+A protocol for objects that manage the entire flow of players interacting with equipment.
- StTableCursorvisionOS 2.0+A cursor conveys information about one equipment that is currently being controlled by an interaction.
- StTableCursorIdentifiervisionOS 2.0+A unique identifier for cursors.
Bookmarks 2
Types that capture and identify saved snapshots of game state.
- StStateBookmarkvisionOS 2.0+A snapshot of the game state at a point in time.
- StStateBookmarkIdentifiervisionOS 2.0+A unique identifier for bookmarks.
Networking 3
Types that coordinate shared multiplayer sessions and report message delivery results.
- ClTabletopNetworkSessionvisionOS 2.0+An object that coordinates network-related tasks in multiplayer games.
- PrTabletopNetworkSessionCoordinatorvisionOS 2.0+A protocol for objects that manage network sessions between peers.
- EnTabletopSendMessageResultvisionOS 2.0+The possible results of sending messages in a network session.
Debugging 1
Options for visualizing the table and its layout while developing a game.
- StDebugDrawOptionsvisionOS 2.0+Types of items in a rendering that you want to debug.