Supabase Realtime provides multiplayer features so that you can build real-time applications. The server has several built-in extensions to solve specific tasks.
- Broadcast: for sending rapid, ephemeral messages to other connected clients. A typical use-case is tracking mouse movements.
- Presence: for sending user state between connected clients. A typical use-case is simply an "online" status, which will disappear when a user is disconnected.
- Postgres Changes: for receiving database changes in real-time.
Choosing between Broadcast and Presence#
Defaulting to using Broadcast is a good idea, and then use Presence sparingly. The Presence extension merges all changes into a shared state for every client connected to the same "channel". If you do use Presence, it's best to throttle your changes so that you are sending updates less frequently.
Realtime extensions are still under development. We have many more extensions planned. You can follow our progress by watching the Realtime repo on GitHub.