Skip to main content

SDK Support

Beta

This feature is in beta. Core behavior is stable, but some APIs or configuration may change before general availability.

Room is the main exception in the product lineup: it has a first-class client SDK surface, but no standalone Admin SDK room surface. The server half of Room lives in rooms.*.handlers.

Scope

This table compares the Room capability split across the Client SDK and the Admin SDK. For exact runtime availability, see SDK Layer Matrix.

CapabilityClient SDKAdmin SDKNotes
Join and leave roomsYesNoRoom connections are client-facing realtime sessions.
Send actions and receive resultsYesNoClients call room.send(...); the server validates in handlers.actions.
Subscribe to shared and player state deltasYesNoDelta sync is part of the client Room SDK.
Server-authoritative lifecycle hooks, actions, and timersNoNoThese are defined in rooms.*.handlers, not exposed as an SDK surface.
Privileged persistence and backend access from room logicNoNoUse ctx.admin.* inside Room server handlers rather than a separate Admin SDK room API.
note

If you are looking for the "server side" of Room, the correct destination is Server Hooks and Actions, not an Admin SDK page.

Use Client SDK When

  • users need to join a room and stay synchronized
  • the app must send actions and receive room state deltas
  • you need reconnect and room session handling in the client

Use Room Server Code When

  • the server must validate actions and own the state
  • you need lifecycle hooks, timers, or persistence
  • room logic must call privileged services through ctx.admin.*

Unified Surface Rollout

  • The unified Room client model groups five core live surfaces (room.state, room.meta, room.members, room.signals, room.media (alpha)) plus two companion runtime namespaces (room.admin, room.session).
  • That unified namespace surface is currently implemented in the Web, React Native, Flutter, Rust, Kotlin, Java, PHP, C#, Swift iOS, and C++ client SDKs.
  • Other client SDKs still interoperate with the rooms runtime through the legacy Room protocol, but their public unified namespace surface is still being migrated.