Chat and presence
How the platform's chat works in and around games, what friends see about each other's status, how messages are filtered, and what guests can say.
On this page
Chat and presence are provided by the platform, not by your game. Every game gets them for free: players can talk to the server they're in, message friends while playing, and see when their friends are online or in a game. This page explains how they work, so you know what players have around your game.
All of it runs over one realtime connection the platform keeps open while a player is signed in.
Where players chat#
| Chat | Where | Who's in it |
|---|---|---|
| Direct messages | The Chat button in the top bar opens the chat dock; Messages at /chat shows full conversations. The dock also shows inside the Play overlay. | Two people. |
| Session chat | Chat in the Play overlay's controls, or the overlay's menu. | Everyone in the same server ("Say hi to the server."). |
| Group chat | Chat on a group's page. | The group's members. |
A message is 1 to 500 characters. When a player subscribes to a chat, the platform sends the last 50 messages so the conversation picks up where it left off. The session chat box takes up to 200 characters.
The chat dock lists the player's friends with their headshot, a presence dot and an unread count, and opens a small conversation without leaving the page or the game. When a player is in a game and has unread messages, the collapsed dock stays visible.
Who can message whom#
- Players can only join the session chat of a session they're in, and the group chat of a group they belong to.
- Direct messages follow the recipient's Who can message me setting (Everyone, Friends or No one), which defaults to Friends. Everyone opens direct messages to non-friends only between adults.
- Direct messages between adults and minors aren't allowed.
- Nobody can message someone who blocked them, or whom they blocked.
Presence#
Friends see each other's status:
| Status | Shown as | Meaning |
|---|---|---|
online | Online | Signed in on at least one device. |
in_game | In a game | In a game session; friends also see which game. |
offline | Offline | Not connected, or hiding their status. |
Presence changes are pushed to friends as they happen. Friends lists show players in a game first, then online ones, then the rest. A presence status for being in the Studio isn't available yet.
A player who turns off Show when I'm online in Settings ▸ Privacy appears offline to everyone, and isn't shown to friends on a game's Servers tab either. People who aren't friends always see a player as offline.
Filtering#
Every chat message passes the platform's text filter before it is delivered or stored. The filter:
- normalises look-alike letters and number substitutions, so disguised words are still caught;
- masks blocked words rather than dropping the message;
- in chats that include players under 13 or guests, also masks personal information such as phone numbers and links to other chat services.
The strictest audience in a conversation decides how its messages are filtered: if anyone in the chat is under 13, everyone's messages are filtered for that age. Game titles go through the same filter when a game is created.
Guests#
Players who play without an account (Play as guest) get child-safe defaults:
- they can't send direct messages or use group chat;
- in their session's chat they can only send quick-chat phrases: "Hi!", "Good game!", "Follow me!", "Thanks!", "Help!", "Wait for me!", "Nice!" and "Bye!", shown as buttons in the Play overlay;
- other players see them tagged Guest in the players panel.
A guest can choose Save your progress in the Play overlay to create an account without leaving the game.
Invites and notifications#
The same realtime connection delivers friend requests, accepted requests and game invites as toasts. A game invite reads "name invited you to play" with a button to join their server. See Sessions and joining.
For game authors#
Your game doesn't need to do anything for chat or presence: the platform runs them around the game, and a player's presence switches to In a game when they join a session of yours and back to Online when they leave. Games don't receive the platform's chat. For in-game messages between players of your own design, use neo_net's reliable events; see Sessions and joining.
The conversation list and read state are also available through the platform API's ChatService; see the chat API reference.