Migrate to TextChatService: Removing Support for Legacy Chat and Custom Chat Systems

ngl i REALLY despise the new chat system

with new chat you cant read previous messages unlike the old one
and with new chat you need to have 60 fps so the algorithm wouldn’t break and go like “Fooba ENTER r” unlike the old oneee
and theres also the annoying emoji thing that auto fills when u start with : (it breaks admin commands with : prefix) unlike the old one

i don’t like it really, the old one is way easier and less advanced meanwhile u got new one with low fps = you can miss-spell and then get moderated, autofilling emoji that u cant disable in roblox settings, and rejoin = boom you can’t read past messages, this can specially be bad when ur a ingame moderator cuz u cant read what previous players said unless with use of a webhook

1 Like

hi @minimegamer1 the Team Create chat functionality will be disabled late Jan, but we are replacing it with the ability to add Comments directly into the 3d workspace in Studio early next year. We will continue to improve creator communication within Studio through the ability to annotate & comment, which will offer a more contextual form of discussion & iteration.

Out of curiosity, can you also tell me a bit more about your use case for building “a game that will never be published to public”? thank you!

2 Likes

Why are you guys deprecating Team Create chat functionality, if most of the upcoming features are built upon Team Create? Parental Controls can’t really apply to Studio as anyone can make anything there.
(You can’t stop someone from making a TextLabel and using that as a filterless way of communicating, this just makes it inconvenient.)

2 Likes

There are actually many use cases for such a game.

For example, one could use it to animate rigs, or as a modelling place, or for recording videos demonstrating how to use Roblox Studio etc.

2 Likes

to a certain extent, I can explain

basically, the game is so complex and unique in its concept that me and my coder, want to keep it that way, also so that we don’t have to make an anti-cheat or prevent an exploiter who can steal the game.

and no, it’s not a test game it’s a fully thought-out game, just for a select few, a game that I had only dreamed of making when I was 7yo

hope that helps

1 Like

This update is absolutely Outright Intentional Throwback from the Roblox DEVS above. Like I KNOW there supposedly trying to “Improve” Moderation, and I like How there doing that, but now it’s a lot harder for future DEVS and normal DEVS to develop games with chat orientated systems and such.

Even DEVS with custom Admin commands are just going to have a tough time getting around this “NONSENSE.” I mean, Games like RetroStudio (Their messaging system), Chat Simulators, Etc. All of which will have to suffer/shutdown/remove features entirely because of this update and deprecation of the APIs. Now games that send messages to other players to other servers are Now Completely IMPOSSIBLE, Because of this update.

Now, it’s like a buck tun of Underrated/Beloved’d games are NOW going to be thrown back to the STONE-AGE. What A complete mess of a Unpresented assault on the platform.

I’ve already said this before (Probably…) I know ROBLOX is (Maybe now.) trying more and more harder to moderate things, I know I have some bad opinions about Roblox’s new chat and UI systems. But it is not even related to the chat system itself. ANY THING, Including CELL PHONES, CUSTOM CHATTING SYSTEMS, CROSS-SERVER MESSAGING GUIS, AND MUCH MORE IS NOW TOSSED IN THE RING OF FIRE!

Unless some DEVS or SOMEONE Can give me some answer, or this is solved. I may not want to continue developing games in the FUTURE, because of what’s possibly going on right now.

And it’s making me pretty sad. Retro Studio now is forced to REMOVE their messaging system, so first Roblox deprecates their messaging future, and NOW RS (RetroStudio) is DOING THE SAME, all because of THIS?

Unless something is solved, Then I don’t know. Just give me a quick comment or whatever, I have no clue at this very moment, I am flabbergasted and just mind blown about this update.

Kingcobrala1-
2024.

1 Like

moderating people who dont switch to the new chat and disabling it until they swap is uh kinda a bit too far roblox

2 Likes

@be_nj we’re planning to migrate our game RoCitizens to the new TextChatService, however it is missing one of the most fundamental events: being able to detect when chat window has opened/closed.

We use this to position a Quest GUI in order to save screen space. The current best option is an endless while true do loop where we check StarterGui:GetCore(“ChatActive”), which is clearly a very hacky implementation.

Any ETA on when we’re getting useful events around chat opened/closed state?

Actually just found a hacky life hack solution minutes after posting this!

ChatWindowConfiguration does not fire any .Changed events when the chat is toggled, but ChatInputBarConfiguration.AbsoluteSize changes by a few pixels. So you can use ChatInputBarConfiguration.Changed connected to a StarterGui:GetCore(“ChatActive”) to see if the chat is active or not!
image

Here’s what we do now to figure out the chat window size too, take note of the arbitrary +10 pixels on each one since we don’t know the padding between the elements!

I have a game that uses legacy chat. It would be ok if it weren’t for one problem. There are commands in the game that play custom emotes, and they DON’T WORK in the new chat. I WILL NOT switch to the new chat as long as this problem exists!

there’s now a newer TextChatService solution for the old ui:

it replicates the late 2016-now UI while @AdvancedOpenGL 's solution is based on the mid 2016 UI

Absolutely love how the engineers claim that TextChatService is better when we have to make hacky workarounds like these. They stopped replying anyway after the backlash.

1 Like

I’m always in favor of replacing GetCore calls with proper APIs. To confirm, you are concerned if the chat top bar button is selected only? If we have faded out due to inactivity, that would likely be different, but probably also useful property

2 Likes

Correct. Main use case is something as shown here:

Once again, how exactly am I supposed to port this over to TextChatService?

image
image

The special game headers are one message using RichText, and have no owner player. It appears that I can’t pass certain toggles or anything that indicates that a player deserves a special chat tag or chat color.

This, along with the fact that TextChatService adds some serious memory overhead (all of this just for text, btw) to my game makes this look like some kind of rushed move to introduce some kind of intricate system to collect more telemetry at the expense of the developer.

1 Like

They aren’t moderating experiences, but they’re doing it to experiences that are breaking guidelines and using legacy chat to make unfiltered messages as an example.

Your game is going to be fine.

I don’t mind this update but I feel like we should’ve had know about this a bit more ahead of time even if some of the features we have now weren’t ready but that’s just me.

Uh roblox…

This is a terrible update. I have broken my back making a custom chat system that allows for MANY for features that TextChatService, properly implemented TextService chat filtering (TextFilterResult:GetChatForUserAsync) and built a moderation system…

Only for all of my progress to be halted because of this terrible change.

Please AT LEAST allow properly filtered custom chat implementation.

Am I getting an incorrect Error message here?

local function CreateWhisperChannel(playerObj, player2)
    local directChat = TextChatService:CanUsersDirectChatAsync(playerObj.UserId, {player2.UserId})
	-- check if we have any eligible participants
	if #directChat > 0 then
		local directChannel = Instance.new("TextChannel")
		directChannel.Name = `RBXWhisper:{playerObj.UserId}_{player2.UserId}`
		for _, participant in directChat do
			directChannel:AddUserAsync(participant) -- Errors here
		end
		directChannel.Parent = TextChatService:WaitForChild("TextChannels")
		return directChannel
	end
	warn("Could not create Direct TextChannel. Not enough eligible users.")
    return nil
end

Errors at the API call TextChannel:AddUserAsync(participant), am I doing something wrong? TextChatService.ChatVersion is clearly set to TextChatService

Edit: The fix was parenting the TextChannel First, and then doing AddUserAsync

Why is team create chat being removed, even though it has gotten faster and more responsive in recent years, still quite a bit of people like I use it.
Team create chat could just get a lil overhaul and itll be good!