Channel Tabs & UI Gradient Now Available in TextChatService

Let’s go!!!

LETS GOOO

I can’t lie, I’m actually looking forward to figuring out TextChatService now.

2 Likes

Are there any plans to implement a feature that allows users to leave channels individually, without deleting the channel for everyone? Currently, while we have TextChannel:AddUserAsync() to add users to a channel, there’s no equivalent RemoveUser function, which is quite limiting.

For instance, when a player sends a private message to another player, the channel remains open as a tab indefinitely, unless one of the players exits the server. A method for users to close or leave a channel independently would be great.

image

16 Likes

try this, textChannel[player.Name]:Destroy()

5 Likes

I would assume it would be as easy as destroying the TextSource object which represents the player, however this is not the case as they can still “use” the channel. They really aren’t though as their messages aren’t actually going through and only the text shows up on the client side.

I’m pretty sure that there are bugs present regarding removing users from channels. Also, there is currently no way to “hide” a channel from anyone, a feature which I would really enjoy. I want to allow players to swap teams and read the history of a team chat and the only way to do that appears to be having them connected but hiding it on the client until they’re actually on that team.

5 Likes

Sounds like having a bunch of child added/removed listeners on the text channels in order to remove the user locally from the text channel itself may work? Just tested it, the removal of text channel from child removed works, but addUserAsync() does not replicate the text channel to client if its missing, welp have to use a remote event to substitute.

3 Likes

Cool. Now add UICorner support for ChatWindowConfiguration, ChatInputBarConfiguration an ChannelTabsConfiguration.

7 Likes

Wow! That’s amazing! Just one thing that is to please change the GUI.

3 Likes

Really appreciate the new changes, but unfortunately chat bubble customization is still somewhat lacking in TextChatService (and other limitations with the default UI that people have brought up).

It’d be great if all of the remaining features from LegacyChatService could be ported over so we can fully migrate over to TextChatService before its removal.


Bubble properties which can’t be customized per-NPC in TextChatService:

  • BubbleDuration
  • BubblesSpacing
  • MaxBubbles
  • VerticalStudsOffset
  • MinimizeDistance
  • MaxDistance

Bubble properties which are missing from TextChatService entirely:

  • MaxWidth
  • SizeAnimation
  • TransparencyAnimation
5 Likes

You would be better off using the Rich Text Markup UIStroke instead of actual UIStrokes

An example for it is:

"<stroke color='rgb(255, 0, 0)' joins='miter' thickness='2' transparency='0'>[ANGRY]</stroke>"

That should give you text stroke that looks like this
image

Of course I used the Creepster font as its the closest to the non default your using

4 Likes

Is there a way to only make a gradient change the player name, that was the main thing i wanted but seems no matter what i do it does the tag and player name.

1 Like

This isn’t fully bulletproof but you could use the Color property of the UIGradient to set the tag portion of the gradient to your desired colour, then set the name portion of it to white, using super closely positioned keypoints. You could figure out the width of your tags compared to the width of the entire name using TextService:GetTextBoundsAsync. This won’t always work though, for example if you wanted your tags to span multiple lines. A proper implementation would be great

2 Likes

I assume this makes a copy of the original UIGradient. Do property changes to the original UIGradient get passed onto the copy? If not, it would be great if this were a thing for animating the gradient (rotation, offset)

3 Likes

Npc chatting is cool and all but i’m afraid about the impersonation and the advantage developers will take to scam players with this NPC chat…

1 Like

how do i use chat in my game on Roblox on my Xbox?

3 Likes

Finally, Reasons to swap over to TTS over Lua Chat.

4 Likes

Thanks alot this is the best Chat update this year!

I’ve been wanting to add teamchats, that others can’t access / “ghosts” can’t access the normal chat and now it all seems to be possible :D!

1 Like

any way to apply multiple prefixes / gradients? as of now the current system feels super jank and limiting, especially with using rich text for the username… a bit weird to me personally

1 Like

being able to send messages in chat like this is not a new thing. people could always do it lol

Cool, but this is ugly:
image

I don’t see the use in having the bar displayed if there’s only one chat channel they can type in.

8 Likes

You can disable tabs on the client whenever the client is in only one channel.

2 Likes