New Beta In-Experience Chat System for Channels, Filtering and More!

I’ve noticed that this was in the works for a while and it looked like an incredibly interesting update, I am most curious as to whether or not this will enable Xbox users to finally have the ability to utilize text chat again, seeing as it would appear that the service would forcefully handle all filtering, privacy settings, etc now, which I had heard was the reason text chat was prevented on Xbox.

19 Likes

This is such a great API surface, especially compared to the previous Chat and ChatService modules!

I’m really excited about the new UI as well - it’s a big upgrade compared to the previous one.

10 Likes

This is a great update!

I’m going to be using the new chat in all my games.

Thank you so much for this update!

7 Likes

Are you going to be able to set chat years? For example, instead of having the chat we have right now, we could have chat from 2014, 2013, 2012, 2011 and the rest?

This would be a great feature and I think roblox is going the right direction with this update!

15 Likes

I think that could make the feature more confusing, but someone could probably make a legacy chat theme

10 Likes

After almost 2 years, the chat will finally match the theme with the Topbar!

What I would like to see with the commands is something similar to Discord’s slash commands:


It would probably get admin systems to add Slash Commands to their commands.

Anyways, can’t wait for this to roll out to public servers!

47 Likes

That’d be super cool, they could release it as a plugin too for you to pick which year it is!

7 Likes

Damn, Very cool update on chat. Roblox has been growing and growing to a new level.

6 Likes

I was just going to write a command system (outside of chat) for debugging, but I might actually integrate it into the new chat. It would be really nice if we could see a list of commands as we’re typing it with similar ones, along with the description and parameters, then Roblox could give us each parameter when one is performed. Very promising and clean!

On other notes, I did really like the option to be able to resize the old chat interface on PC since I’ve always liked to enable it when possible since the default scaling usually bugs me. Is there any chance we can see this added back, possibly as a setting? Heck, maybe even if you just have a small invisible dragger to the bottom right, like Windows has for scaling windows. I know we might end up seeing this if it does get added like many of the older settings (as mentioned), but I’m not too sure.

I’d typically complain for it no longer being under PlayerGui since I sometimes use it to customize the interface deeper for settings that may not be provided, like adding rounded corners on the existing one, but I’d likely create my own if it’s that important to me. On the upside, I do enjoy PlayerGui being a bit cleaner by default!

ps: It would be nice if the scaling was clamped past a certain aspect ratio, so it won’t be so extreme on wider viewports - like it does feel a bit too long by default in my studio window.

13 Likes

Chat seems to become super wide on 16:9 displays

24 Likes

Found an issue already!


I have this UI set to overlap the chat, however it isn’t overlapping how I want it to.

LegacyChatService did get overlapped. I know I could just disable chat until the game is loaded, but I would like to see this fixed for games that don’t really get updated anymore.

Edit: Disabling chat didn’t work in my ReplicatedFirst Loading script. What I mean here is that you could still see the chat window.

game:GetService("ReplicatedFirst"):RemoveDefaultLoadingScreen()
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, false)

-- Visuals for loading screen are here

-- When loaded

StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, true)
15 Likes

One of my biggest gripes with the old ChatService API was that muting a player in the “All” channel didn’t mute them from being able to whisper chat directly to someone. Even if you muted them in individual channels directed to someone specific (which were the ones used for whisper chats), there would be nothing stopping the other user from just typing “/unmute [speaker]” to unmute them. Hopefully, this new TextChatService has a better solution for this!

3 Likes

This wouldn’t work
Roblox would have to have archived and saved the scripts for all their previous chat systems and modules. On top of this, the older ones would be less likely to work correctly now because over time new features, instances, functions etc have been introduced and old ones have been deprecated or changed

6 Likes

Do channels work? Don’t seem to see any tab showing channels.

5 Likes

Is there a way to make the chat window invisible, like this?

Or is this planned, this would be very cool!

18 Likes

They don’t have to rip it straight off from the previous years, they could just make it customizable so that it looks like the year, or atleast have presets for them.

2 Likes

Sure, but still I doubt Roblox would do something like this

4 Likes

This update seems good so far!

1 Like

Thanks for the reply! The TextChatService version won’t respond to SetCoreGuiEnabled at the moment. The more straight-forward way to hide the chat for this loading screen would be something like the following:

local TextChatService = game:GetService("TextChatService")
TextChatService:FindFirstChildOfClass("ChatInputBarConfiguration").Enabled = false
TextChatService:FindFirstChildOfClass("ChatWindowConfiguration").Enabled = false

We decided to start exposing the API this way to make it easier for developers to understand and use the API. We will consider how this feature interacts with SetCoreGuiEnabled, I think it’s valid since other platform UI respects this!

12 Likes

We aim to have formal documentation of the APIs and include tutorials within the next two weeks :smile:

12 Likes