TextChatService.MessageReceived does not fire in studio (even after reinstall)

The issue is exactly as described in the title.
Steps to reproduce:

  1. Open Roblox Studio
  2. Open any place file, it doesn’t matter which one
  3. Get TextChatService and listen for MessageReceived events
  4. Use the in-game chat


Reproduction File:
ReproductionFile.rbxl (50.7 KB)

Beta features:

  • glTF export
  • Revamped Asset Manager
  • Segment by Parts

System Information:
CPU

Intel(R) Core(TM) i5-14500

Base speed:	2.60 GHz
Sockets:	1
Cores:	14
Logical processors:	20
Virtualization:	Enabled
L1 cache:	1.2 MB
L2 cache:	11.5 MB
L3 cache:	24.0 MB

Utilization	4%
Speed	3.18 GHz
Up time	0:15:49:13
Processes	245
Threads	4506
Handles	132383

GPU 0

NVIDIA GeForce RTX 4060

Driver version:	32.0.15.9595
Driver date:	3/15/2026
DirectX version:	12 (FL 12.2)
Physical location:	PCI bus 1, device 0, function 0

Utilization	5%
Dedicated GPU memory	1.8/8.0 GB
Shared GPU memory	0.2/31.6 GB
GPU Memory	2.0/39.6 GB

Memory

48.0 GB DDR5

Speed:	4800 MT/s
Slots used:	2 of 2
Form factor:	SODIMM
Hardware reserved:	370 MB

Available	28.6 GB
Cached	27.8 GB
Committed	22.7/50.6 GB
Paged pool	1.6 GB
Non-paged pool	858 MB
In use (Compressed)	19.1 GB (165 MB)

Expected behavior

I expect TextChatService.MessageReceived to fire when I receive a message

A private message is associated with this bug report

5 Likes

Running print(tx.ChatVersion) will result in an output of Enum.ChatVersion.LegacyChatService.
Changing the chat version is no-longer an option as a Property under TextChatService as Roblox has made it deprecated.

For some reason, your studio has gone back to the Legacy Chat and not automatically changed to Enum.ChatVersion.TextChatService

Since you tested this in a fresh baseplate in the video as well, this doesn’t appear to be an issue with the specific place file.
Your Studio is somehow still initializing the experience with LegacyChatService, even though new experiences should use TextChatService.

So the next thing I’d check is whether this is specific to your Studio installation/version or whether Roblox is incorrectly assigning LegacyChatService to newly created experiences.

1 Like

That is… the strangest issue I have ever seen
Also, this wasn’t exclusive to new places. This happend to me in existing place files, with TextChatService enabled (screenshot attached below)



Every single place file I try out is broken, I deleted everything in the roblox “versions” folder then ran the installer again, but it was still broken.

Update:

task.wait()
local tx = game:GetService("TextChatService")
print(tx.ChatVersion)

Will result in the output changing to
Enum.ChatVersion.TextChatService
However, removing the task.wait() will result in
Enum.ChatVersion.LegacyChatService.

From here, I think it will just be a Roblox Issue.
Edit: Yeah, just a Roblox Issue.

1 Like

Echoing this. I can repro this exact issue (MessageReceived never happening) instantly in studio.

This is identical to a similar report I filed several weeks ago: Issues with TextChatMessage never sending

That issue did resolve but appears to be back.

Just as last time users in our game Warrior Cats: Ultimate Edition | Play on Roblox are being impacted and cannot chat.

Reports first emerged for us around 4:30 PM ET yesterday.

also broken in my games as well

Hello thank you for the report.

Is this only impacting studio or players as well? you indicated that you have reports that are preventing players from chatting?

This is impacting players in our game. For reference we use a custom chat implementation, we rely on the .MessageReceived event firing for a message to actually be sent in the chat.

It is not impacting all players but is impacting a growing number and once a user is impacted they stay impacted, suggesting this might be related to a recent client release or change that is propagating to users.

1 Like

Wow ok this JUST happened lol I thought I was tweaking after my custom chat randomly decided to not send messages.

Can confirm for me as well MessageReceived is not firing at all on studio

1 Like

Thank you all for the report. We have identified a change that has been reverted that should address this.

Do let us know if this issue continues to persist or has subsided.

it’s been working without any hassle
thanks boss

The requirement for TextChatService.OnIncomingMessage is why I hate TextChatService. I think the client-only requirement is stupid. This makes it incredibly hard to make filtering systems or chat control systems. The legacy system had a server-side Chatted event is why I liked the legacy system better. And for others this makes your Chat filtration system EASY to bypass if it’s on the client. This TextChatService system is bloody stupid, and I hate the client requirement. Can only be implemented on the client. This requirement is bonkers and I hate it.