Removing "System" channel from default chat

I’ve done this before by simply forking the default chat and outright ripping the System chat out of the code. However I’ve decided to learn a more subtle approach and play nicer with the chat. I’ve been able to open up the channel tab without forking the chat, and I’m wondering if it’s possible to remove the channel without forking the chat.

Originally I was doing:

local chatService = game:GetService("Chat")
chatService:RemoveChannel("System")

However this didn’t work and it seemed like I’d need to call modules. I attempted this then:

local chatService = game:GetService("Chat")
local chatChannelsModule = require(chatService.ChatServiceRunner.ChatChannel)
chatChannelsModule:RemoveChannel("System")

This however led to errors seeing as the module I was looking for didn’t exist on requiring it.

Any ideas? I feel like the documentation for the default chat is very poorly written.

Sorry, I’m not sure how you would do it without forking it, but if you change your mind here is a link to a solution: https://devforum.roblox.com/t/can-you-remove-the-system-channel-from-the-chat/156927

1 Like
local ChatService = require(game:GetService("ServerScriptService"):WaitForChild("ChatServiceRunner").ChatService)
ChatService:RemoveChannel("System")

The problem is that you’re requiring the wrong thing. Dont use the stuff in Chat, that’s just holding scripts.

1 Like

I tried this solution out and it worked… sorta.

Heres the chat prior to me making the change:
image

When I don’t do it, my entire game breaks down and the chat stops.

There are no console errors though.