Please give us more control over TextChatService

TextChatService is great, but the UI is hidden from developers, so creating extra functionality outside of Roblox’s intentions is not possible.

Here are some things I am not able to do or would like to see:

  • Put icons or buttons next to player names in chat. Good for indicating things like VIP status. Instead, we are restricted to a rich text PrefixText property.

  • Bind functions to clicking on player names. By default, this initiates a whisper, which may be good for keeping UX consistent across Roblox games, but I still would like to have the control. In my game personally, I would like this functionality to open up a “profile” card UI, so I can view that player’s in-game stats as well as pressing a button that initiates whisper mode with that player.

  • Iterating on the previous point, it is not possible to control whisper initiations. I would love to create a button that automatically opens the chatbox and initiates whisper mode between two players.

  • More properties for TextChatMessage - I was surprised to see that there was no property indicating that the incoming message is a whisper when doing TextChatService.OnIncomingMessage. I had to grab the message.TextChannel and check if the word “Whisper” was in the name string. This seems to be the only way. I have a custom speech bubble system, and this is what I used to change bubble appearance based on the message being a whisper.

Hopefully Roblox can unlock more functionality for us. These are only a few things, but a world of possibility could be opened up if we are not restricted to these limited properties.


Some extra things: