Cool, would it be possible to bind a channel (for example teams vs a general channel) to different keybinds like for example say there’s blue and red team and you’re on blue team, bind team chat to “T” and it brings you to team only blue chat and vice-versa, binding it to “Y” puts you to general.
I know the default bind to chat is “/” but it’s it possible to change this stuff or at least bind after you hit “/”
Thank you so much my glorious king Hiatus. However, it would be nice if this update had the option to close channels via /close or proper documentation on how to make channels. It seems as if this update was half baked and should go back into the oven.
Is there any plans on whether we can adjust the text transparency and the text stroke transparency for when when we’re typing in the chat compared to prompting us to chat? This is the last two parts missing to be able to recreate the legacy chat UI in the new TextChatSystem. Right now we can’t adjust the text transparency at all and the text stroke transparency applies to both typing and chat prompting
On a side note, is there a way to hide chat sent from the sender? That way people can be confident if their messages are rejected from ShouldDeliverCallback.
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.
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.
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.
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:
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.
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
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)