New In-Experience Text Chat System Public Release!

@SubtleShuttle @be_nj Following up once more

Please fire the UserInputService.TextboxFocused/TextboxFocusedReleased events for the chat input textbox (or provide an alternative event under TextChatService) so that we can detect when the user is chatting. This is critical. Thank you.

3 Likes

I’m unsure if this has been brought up, but I’ve noticed that TextChatService has a noticeable delay after pressing slash (/) to select the chat text box (in order to begin typing). This becomes a problem when trying to type characters right after pressing slash. I can confirm there is no such delay on the old legacy chat, and it will select the text box as soon as slash is pressed. There is no delay if you click on the chat text box with TextChatService, however - it’s only an issue with the hotkey.

On another note, it looks like the fix to the duplicate chat bubbles when toggling BubbleChatEnabled isn’t working fully. After toggling it twice with messages in between each toggle, the bubble chat started to only allow one bubble visible/active at a time, rather than the MaxBubbles override I supplied through ChatService:SetBubbleChatSettings. It might not be related to my custom override though, as it isn’t default behavior to have only one bubble visible at a time.

Thanks for all the work over time to improve TextChatService, and I hope this issues can be resolved soon!

@be_nj

Will toggling the chat bar be added to TextChatService by utilizing game.StarterGui:GetCore("ChatBarDisabled")?

I see no reason the new chat couldn’t have compatibility with this setting. If there are reasons against it I’d love to know what they are.

Any way custom colour / font and stuff can be done with this? I tried researching and can’t find anything

Any news on being able to re-position/re-size the UI?

As of September 8, there are AbsoluteSize, and AbsolutePosition properties in the chatwindowconfiguration, and the chatinputbarconfiguration. However these properties are read only and always read (0, 0) no matter what

3 Likes

I’ve noticed a bug(?) where I can’t emote at all with this new text chat system. I use /e and /emote commands to do default emotes (Wave, Cheer, Laugh, Dance1-3, Etc) and It always said “You can’t use Emotes here”. I switch to the legacy system and I can use these emotes just fine.

I couldnt reproduce this problem myself. Do you have a link to a place where this happens?

Hello. Quick question.

When will Chat Channels be added?

It’s the one thing that’s preventing me from adding TextChatService to my game.

I know that right now you can use TextChatService with Chat Channels if you create the custom UI to support it.

I can release an uncopylocked place shortly containing Alianor III: Anniversary’s chat (uses Text Channels + New Text Chat) as an example of a custom variant of the chat service.

It’d feature the majority of the chat system’s core, minus some of the game-specific functions I have.

1 Like

Winry 2.0 Standalone Service - ChatService
Uncopylocked Place: Custom Chat System - TextChatService
CustomChatService.rbxl (62.8 KB)


This has nothing advanced; I was aiming for parity with ROBLOX’s original Legacy Chat while integrating their new system. There’s lots of room for improvement. Some of this was done on-the-fly to learn about how to make a chat system compatible with TextChatService whilst working on Alianor III: Anniversary.

Setup

TextChatService:

  1. Publish a place (if you haven’t already) to get access to TextChatService
  2. Set TextChatService.ChatVersion to TextChatService
  3. Set CreateDefaultTextChannels to false - This is to prevent two folders called “TextChannels” existing and confusing the Client.

ServerScriptService:

  1. Copy the “ChatService” script (and all descendants) into ServerScriptService. It automatically sets itself up. You can customize any and all the UI as you wish.

Teams:

  1. Create the relevant teams you want in this.

ChatService creates TextChannels automatically for you on startup. It can also add new channels if you create a new team on the fly. [You must set the properties of the team before parenting it to the Teams Service. This could cause unpredictable behaviour in the event of multiple chat channels with the same name.

Quickly Modifiable Stuff

You can modify the PlayerAdded function to filter the player to the default channel only, team channels or other specific.

You can set the DefaultChannel to whatever you wish, provided you create the TextChannel, set it’s LayoutOrder Attribute and place it within ChatService.TextChannels.

DefaultChannel is set on ChatService → Line 106.

Missing / To Be Added Features

  • Private Message Support
  • Mobile-Friendly UI
  • Prefix Tag Support
  • Custom Group Chat Channels (create a chat channel for a provided array of players)
1 Like
1 Like

I just joined and it seems to be working for me.

Hm, probably my avatar settings because when I switched to R15 I could, R6 doesn’t work tho

1 Like

image
When will we be able to customize what the Roblox GUI calls, the “Target Channel Chip” for our own custom text channels?

4 Likes

The Social Interactions Developer Modules is bugged in the new chat system and cannot perform character animation effects

1 Like

Question, how would we disable display names and instead use our actual player name in the chat? I can’t seem to find the setting for it.

Thanks for infomation, I was tried to find how to enable this.

I have also noticed this issue. The reason why you can’t recreate the issue is because you are in R15. If you join games with the new chat in R6 and try to use chat emotes ( /e wave, /e cheer, /e dance, etc. ) it will say “You can’t use Emotes here”.

1 Like

A quick update on the R6 emote issue. We’ve identified the issue and will be rolling out changes to address this shortly.

2 Likes