New In-Experience Text Chat System Public Release!

A group whisper would mostly eliminate my need for roleplay chat. It would make it harder for people to join roleplays on the fly but I think players can work it out. Not sure the details of how it would work with respect to joining/leaving/managing a group chat though.

UI hooks would be amazing. I would like to add an expand button if there is no resize functionality so players can make the chat larger vertically up to some limit. Channel tabs are also sorely missed, especially if there will be group chats. Switching would be a pain if you needed to use an external button or command all the time.

6 Likes

Dannnnnnnnnnnnnnnnnnnnnnng, this chat UI looks amazing. Finally, they did something good for ONCE.

3 Likes

Looks great! I am wondering how you would send a “system” message though?

StarterGui:SetCore(
    "ChatMakeSystemMessage",           
    {Text = "MESSAGE"}
)

Works for the legacy chat system, but not the new text system (doesn’t send anything, nor does it error).

5 Likes

To send a system message, you can use TextChannel:DisplaySystemMessage(message) instead.
If youre using the default text channels, you can reuse the RBXSystem channel for this:

local systemChannel = TextChatService:FindFirstChild("RBXSystem", true)
if systemChannel then
    systemChannel:DisplaySystemMessage("MESSAGE")
end

but in reality, any TextChannel – even one you created manually – should work as long as there are TextSources listening to it.

9 Likes

How did you add the “Owner” tag? I am looking through the documentation, but I am not sure how it works.

2 Likes

If you don’t want to do it yourself, then I made a public model that you can use here (TextChatService+).

The method to do so is using RichText and changing the values of the PrefixText and Text properties under the TextChatMessageProperties instance. You do this when a message is sent by intercepting the OnIncomingMessage callback that is a part of the new TextChatService.

Here is a VERY VERY VERY scrappy method that is not good to use for production but will help relate what I mean…

local TextChatService = game:GetService("TextChatService")

local function OnIncomingMessage(message: TextChatMessage): TextChatMessageProperties
	local properties = Instance.new("TextChatMessageProperties")

	properties.PrefixText = string.format(
		"<font color='#ff0000'><b>[Test Prefix]</b></font> %s",
		message.PrefixText
	)

	return properties
end

TextChatService.OnIncomingMessage = OnIncomingMessage

Running that script above will produce this
image

6 Likes

This update looks good.

General Kenobi

5 Likes

Instead of it being on top of the chat, how about a sidebar UI? It would have more space and I think it would be easier to go through all of the channels if they’re parented under a ScrollingFrame.

I’ve made something like this for the current chat UI:
image

22 Likes

If anyone wants to test the new chat out in game, feel free to use my test place. New Chat Example Place - Roblox

4 Likes

Awesome. I don’t script normally but I’ll know I’ll have fun messing around with this in explorer. The gui looks amazing and the features look better!

1 Like

How can I adding multiple chat tags at once for a person?

I want the players in my game to both have a Chat Tag if they have a VIP Gamepass and if they have Roblox Premium.

4 Likes

The new UI appears to be much simpler and more modern. I especially like the corner on the UI, and it seems to to be simple to customize. Well done, Roblox. :cool:

3 Likes

Also check out the documentation for TextSource which says “Remove TextSources by calling TextSource.Destroy.” Someone commented about this not straightforward enough so we plan on adding documentation note to :AddUser to reference this.

2 Likes

Can you elaborate what you mean by “weird”?

2 Likes

Hi, just wanted to follow up on this thread for visibility, to sum up the issue it seems that CreateDefaultTextChannels was set to false by the developer, hence running into these issues since default channels were not being created. Anyone more interested in this problem should read this separate thread, but the conclusion is that you should set CreateDefaultTextChannels to true if you are using our default UI and features. We will clarify the documentation to make this more clear.

3 Likes

I would also highly recommend you check out our beta announcement page, which has some additional code snippets and usage samples. We have a more tutorial-like documentation coming soon that more or less covers materials described on that page.

1 Like

Please check out our beta announcement page, which has additional information about using the API (including chat tags).

1 Like

Amazing job, and great GUI! How long until it gets out of beta and becomes default, though? I’d like to keep my game up-to-date with the current chat system, especially considering I’m editing some of the chat modules to achieve certain effects in some of my experiences (and this might take a while to change to the new system).

Screen Shot 2022-06-27 at 11.30.42 PM

3 Likes

Um… That would be a really bad user experience, and UI would need to be smaller. I definitely would never opt in if that was the chat UI…

10 Likes

I like this update, but I cannot see the chat channels and switch between them with tabs. Am I doing something wrong or is this intended?

2 Likes