Getting the messaging system working the way it should
Roblox's chat system is buried under enough menu layers that most people give up after ten minutes of clicking around. I spent an afternoon tracing exactly how the friend-to-friend messaging pipeline works across different account states, so you don't have to do that yourself. The core mechanism is simpler than the UI suggests. You need a confirmed friend link first. Adding someone is not the same as being friends. The request has to be accepted on their end before any messaging path opens up. Until that acceptance happens, the chat interface silently refuses to do anything, and Roblox doesn't send you a clear error message about it. It just sits there.
How To Chat With Friends On Roblox
Open Roblox and click the three-line menu icon in the upper-left corner. Select Messages from the dropdown. From there you'll see a contacts list. If you've never used the feature, it'll be empty. Click the plus icon in the lower-right corner of the messages panel. Search for the username of the person you want to message. Send the friend request. Wait for them to accept it. Once the request clears, their name appears in your contact list inside the Messages panel. Click their name to open the chat window. Type your message and hit Enter. That's the basic flow. The actual difficulty starts when you try to use it inside a game instead of from the home screen. Chat permissions are controlled by two separate settings that interact with each other in a way Roblox never clearly documents. The first is the account-level privacy setting under Settings > Privacy. If your account is set to anyone, friends only, or no one, it determines who can initiate private messages with you. The second is the in-game chat type selection that runs whenever you join a place. There are three modes: Chat Enabled, friends only, and disabled. When a game forces disabled chat, even people who are confirmed friends cannot message each other through the in-game interface. This catches a lot of people off guard because they assume being friends is enough. It isn't.
I ran into this specifically last year while trying to message a buddy during a session of Brookhaven. We were both confirmed friends, our privacy settings were both set to friends only, and the messages panel on the home screen showed us as connected. But inside the game, every attempt to type a private message came back with the generic "unable to send" toast notification. No code, no explanation. I spent about twenty minutes checking both our settings, confirming the friend link was still active, and trying different games before realizing the particular Brookhaven instance we were in had global chat disabled by the developer. Switching to a different server within the same game didn't help. We ended up messaging through the home screen Messages panel instead, which bypasses the in-game restriction entirely because it routes through Roblox's own service layer rather than the game's chat module. That workaround matters because the home screen messages panel operates on a completely separate path from in-game chat. The in-game system is subject to whatever constraints the place developer sets. The home screen system is only subject to your account privacy settings and whether the other person has the feature enabled. If you need reliable communication inside a game that restricts chat, stick to the home screen Messages panel. It won't appear in the game log, but it will deliver. There are other quirks worth knowing about. Group chats work differently than direct messages. When you create a group conversation, it's tied to a Roblox group, not just a collection of people. The group owner controls the chat settings, and if the group's privacy mode changes, the chat history persists but new messages might route differently depending on the group's current configuration. This is relevant if you're managing a squad for competitive games and need consistent communication channels.
Get the Full Details

The read receipt system is also imperfect. Messages show as delivered once they reach Roblox's servers, but delivered does not mean seen. A contact can have offline delivery enabled on their device and never actually open the app, and you'll still see that little checkmark. There's no reliable way to know if someone actually read your message unless they reply. This is by design, apparently, and Roblox has made no moves to change it. If you're dealing with a user who seems to never receive your messages, check whether they've enabled the option to receive messages from non-friends. Some accounts, particularly ones set up for younger players, have this restricted at the parent level through the linked parent email. In those cases, you cannot message them regardless of friendship status. There's no workaround other than having their account settings adjusted by the associated adult. The messages panel also supports emoji reactions now, but the implementation is inconsistent across devices. Desktop clients allow full emoji picker access. Mobile clients show a limited set of preset reactions. Console clients are the most restricted and may not support reactions at all depending on the game and platform. If you're coordinating across multiple platforms, assume the reaction feature won't work consistently and fall back on plain text.
One thing that trips people up regularly: blocked users still appear in your friends list for a short period after blocking. The system doesn't immediately remove them from the contact panel. You can click their name and attempt to send a message, but it will fail silently. The only clear indication is that their status won't update and the message never delivers. Unfriend them properly from the Friends tab instead of relying on the block action alone if you need the contact removed from your messages list entirely. The chat history itself is stored client-side for a limited window and then pulled from Roblox's servers on demand. If you switch accounts or devices frequently, your recent conversation threads may not populate immediately. Give it a minute or two after logging in, especially on mobile where background sync is slower. Don't assume messages are lost just because the panel looks empty right after a login. For most people, the home screen Messages panel is the most reliable way to communicate with friends. It's not affected by in-game developer restrictions, it works across all platforms with consistent feature support, and it doesn't depend on the other person being in an active game session. The in-game chat system is useful for situational coordination but unreliable when developers impose restrictions. Know the difference and use the right tool for what you're trying to do.