New Bubble Chat and TextChatService Customization APIs

Hi Developers,

We’re pleased to announce the addition of several new customization capabilities in TextChatService!

Per-Bubble Customization


With TextChatService.onBubbleAdded, you can now individually style and modify chat bubble behaviors based on specific conditions that override your general settings. For example, you can use chat bubbles to differentiate NPCs and users, highlight critical health status, and apply special effects to messages with pre-defined keywords.


New BubbleChatConfiguration Child Instances

We now support custom corners, gradients, and images for Bubble Chat! You can parent UICorner, ImageLabel, or UIGradient instances under BubbleChatConfiguration to have them applied to all bubbles, or under BubbleChatMessageProperties to have them applied on a per-bubble basis.

Note: For new places, these instances will already be added to BubbleChatConfiguration.

Additional Bubble Chat Properties

We now support additional requested customizations such as BubbleChatConfiguration.MaxBubbles and BubbleChatConfiguration.TailVisible.

Other Improvements to TextChatService

In addition to the above bubble chat customizations, we’ve also released the following highly requested capabilities for TextChatService:

ChatInputBarConfiguration.IsFocused:

  • Detect if the user has focused/unfocused the chat input bar, empowering use cases such as a custom typing indicator.

ChatInputBarConfiguration.HotKey:

  • Set an additional hotkey to focus chat

/clear command:

  • A new default command for users to clear to chat window

Documentation

For more information on how to use these APIs, please see the documentation links below.

What’s next

Our next major focus will be on TextChannel UI support. Beyond that, we’re going to continue investing in TextChatService to make sure it addresses developer needs for chat.

Please note that we are not actively maintaining the legacy chat system anymore, so if you haven’t migrated to TextChatService yet, please follow these instructions, and let us know your feedback!

Special thanks to @daweezy99, @SubtleShuttle, @Clasifex, @Loonatheexodus, @be_nj, @Roblorcah for all their work!

732 Likes

This topic was automatically opened after 10 minutes.

YES!

I’ve been waiting on this forever, imagine the possibilities with V.I.P, staff chat customization, and more!

THANK YOU ROBLOX

EDIT:
Tested it out and loving it!
image

250 Likes

These are some really really neat changes! Thank you Roblox!

166 Likes

Will there be an addition of channels to TextChatService?

c035c9142dec176512641e9165991cfbee0e10e4

189 Likes

Heyo, I have a question. Thank you guys for all that you do with the chatting system. I’ve and many others made a couple of feature requests in the private beta for TextChatService, and I just want to check in if I do need to open up a feature request or if it is logged into your internal system.Thank you so much! :heart:

137 Likes

Amazing! It’s a really perfect update. Many thanks to those who did this fantastic work! Roblox improving every day with special peoples!
Good works.

141 Likes

Great to see! Can’t wait for devs to implement this

129 Likes

That is great! I can’t wait to try that!

Just question: will it support even UIStroke in future?

121 Likes

Omg, there are AMAZING updates all the time, but this one I LOVE so much. The chat bubble is important for me as it’s a huge factor in how immersive the experience is.

117 Likes

Take a look at the bottom of the post:

107 Likes

While these updates are great, TextChatService is simply too limiting for some games. There may be actions you can do by saying keywords, so you’d want autocomplete. You could implement it yourself in the legacy chat system but now that the UI is a CoreGUI you simply can’t. This is only one use case, but I reckon there may be more use-cases that I’m unaware of.

96 Likes

o7 @unix_system’s fork. you served us well.

89 Likes

Hi, thanks for the feedback you’ve given, and apologies for not getting to it! Since TextChatService is long out of beta and now the default, we’ve stopped actively monitoring the private group. For future feedback, please make a public request or report as it is easier for us to track internally and allows for other developers to see and chime in as well. For now though, I’ll go ahead and reply to your existing posts to make sure your questions get answered :smile:

100 Likes

Rare Roblox W!

I love this. I hope to see more chat customization options ALONG WITH LEADERBOARD CUSTOMIZATIONS.

Please, roblox, It’s the only thing we can’t customize font-wise, and it just throws the entire feel of our games out of the window if we have custom chat fonts and game fonts.

106 Likes

I think you’ve already replied to it, but I was checking in to see if I needed to make a public post or anything to help it get it along nicely.

77 Likes

Hey, for otherSpeaker:SendMessage(message, channelName, fromSpeaker, extraData)'s extraData parameter, could we get a background color of the bubblechat? Something like:

local extraData = { 
NameColor = player.TeamColor.Color,
ChatColor = player.TeamColor.Color,
ChannelColor = player.TeamColor.Color,
BackgroundColor = player.TeamColor.Color
}

otherSpeaker:SendMessage(message, channelName, fromSpeaker, extraData)
83 Likes

Is it finally possible now to remove the microphone icon???

74 Likes

Is it possible to add a AlwaysOnTop property? Sometimes bubbles stays behind walls.
Captura de Tela 2023-07-28 às 15.57.46

115 Likes

Finally a good update, thank you so much, also great example video.

72 Likes