Improvements to Experience Chat Performance

Hi Creators,

Over the past few months, we’ve been working on several improvements to Experience Chat on TextChatService that significantly reduce the resources it consumes, giving you more room to build high-quality experiences and providing a better overall experience for users.

Recent Changes & Performance Gains

Here’s a summary of the key updates we’ve recently rolled out:

:white_check_mark: Optimized the bubble chat billboards that power text and voice chat

:white_check_mark: Several fixes that have eliminated unnecessary re-renders in the chat window

:white_check_mark: Unmounting unused Chat components: Now if you if you turn off the chat window, it won’t consume any resources from your experiences

:white_check_mark: Ongoing improvements aim to reduce resource usage even further

As a result of the above, our testing has shown average peak Experience Chat frame times have dropped considerably.

What’s Next

We’re not stopping here! We have some very promising fixes already in the pipe and coming out soon that should have a much greater impact. Note that peak frame times may still be high in some instances. We are working on several improvements to remedy this.

What This Means for You

These updates optimize how chat components load, render, and interact with player actions, resulting in smoother performance and lower frame time costs. These allow you to create smoother gameplay and a better overall experience for players.

Feedback & Questions

We’d love to hear how these changes impact your experiences! If you notice any issues or have feedback, drop a comment below.

Thanks!

182 Likes

This topic was automatically opened after 10 minutes.

I always love seeing announcements like this. No huge, breaking changes or new stuff to learn. Just short and sweet improvements that make our lives easier. Thanks guys!

55 Likes

I’d be very interested in seeing specific numbers on these improvement metrics, as just ‘considerable’ is a bit hard to quantify. :stuck_out_tongue:

20 Likes

can we have an api added so we can see when the chat box (textbox) is visible and not just if they are typing.

7 Likes

Do you have exact numbers on the difference before and after, I’d love to see just how much the frontend performance has improved from before. Unmounting the frontend when the default UIs are disabled is a massive + because before it meant we had to deal with that performance overhead even if we weren’t using it.

20 Likes

I swear it was so laggy it was almost unusable at times. I will forever appreciate this change, thank you.

:tada:

5 Likes

We need an alternate for TextChannel.ShouldDeliverCallback which wouldn’t fire for every player present on the server. In my case I have to unnecessarily use this rather than a one-time signal for chat-logging a message sent by the specific user to the server. That would result in a true performance improvement.

9 Likes

QOL improvements are my favourite announcements hands-down, always stoked to see them.

2 Likes

Hey there! Do you guys also plan fixing the chat size in experiences that went from legacy chat to the textchatservice? I understand that some of this should be the user’s input as well, but there’s currently a lot of experiences which haven’t migrated to the new chat UI so they’re using the default settings, and there’s nothing users can do to make the chat appear bigger. It is the developer’s duty to fix this, however if they don’t this is going to hurt a lot of players that use a high resolution. I play roblox at 1440p and the chat looks insanely small for me in games that didn’t change their chat settings from legacy to textchatservice

6 Likes

Sorry to ruin it, but…


microprofile-20250328-214703.html (7.7 MB)

I got a huge lag spike from ExperienceChatMain just by joining a Doors lobby server with around 34-36 players or so. This is on my mid-range Window laptop, it’s usually way more severe on my low-end phone. You guys seriously need to benchmark your chat system on servers with a lot of players and see what’s causing the huge spikes there. This doesn’t mean that lag spikes don’t occur on experiences or servers with less players, but it’s probably way less common.

Hope to see improvements on situations like these, and keep up with the improvements and updates!

Finally, I hope the improvements and fixes that are coming next are going to completely solve the performance issues of ExperienceChatMain for good or at least drastically reduce their impact, especially for situations like in demanding experiences and servers with a lot of players. Looking forward for it!

17 Likes

This is amazing, I’m so glad this is something that you guys are addressing. Hoping you guys can also get to work optimizing the leaderboard as well.

1 Like

How much? 1% is an optimization but it’s a hell of a lot different than e.g. 20% or 50%.

12 Likes

honestly i prefer the smaller chat. I too play on a 1440p monitor and i bought the larger screen so i have more viewport space not so the UI can take more space.

1 Like

bubblechat tailvisible is still broken

2 Likes

Could this bug get attention?

2 Likes

I absolutely hate the new textchatservice. I’m not able to make messages show from npcs or sources other than players because SendAsync() is meant to send a message from the client that it’s being run on. I haven’t come across a new way to do it and everyone I’ve asked hasn’t found a way. it also removed "ChatMakeSystemMessage" which was great for sending customized messages with colors and fonts, but this has also been removed in place of DisplaySystemMessage() which doesn’t allow any sort of customization. I get that Roblox is trying to make the chat safer for everyone, but they got rid of valuable features while doing that.

4 Likes

I also play at 1440p and I can barely read the chat. Mostly because my monitor is not actually meant for 1440. It’s 1440p modified to fit a 1080p monitor. Regardless, I think the chat window definitely needs a draggable resize button.

5 Likes

what would this look like, perhaps?

1 Like

Howdy’

You mentioned improvements when chat components are disabled — does this include bubbles? Our team saw that even when disabled, they would take up significant performance.

1 Like