Hello everyone,
I’m currently working on a game where we rely heavily on Roact for all of our UI elements, including a custom chat interface. However, I’ve run into a challenge that I haven’t found clear documentation or solutions for:
Main Goal:
- Disable the default Roblox chat UI entirely.
- Implement my own custom chat interface built in Roact, without interference from the default system.
I’m aware that Roblox now offers a “chat service” that can be customized, but I can’t seem to find up-to-date, in-depth instructions on how to completely turn off the default chat UI. Ideally, I want the user never to see the stock chat window, with all text input and chat logs handled by my Roact components.
Here are a few key points and questions:
- Disabling Default Chat
- Is there an official, recommended way to disable or hide the default chat interface so it doesn’t load at all?
- I’ve heard about using
SetCoreGuiEnabled(Enum.CoreGuiType.Chat, false)
, but that sometimes only partially disables chat or can break certain systems. Are there any side effects?
- Replacing with a Custom System
- Once the default UI is disabled, how can I properly tie into Roblox’s chat messages to ensure players can still see and send messages, but only through my custom Roact components?
- Are there best practices or examples on how to script a direct connection between user input and the chat service without the default UI?
- Integration with Other Scripts/Services
- If I need to handle things like team chat or system messages, do I have to manually code all of that logic, or can I hook in to existing methods from
ChatService
orTextChatService
? - Are there any major pitfalls or known issues with replacing the chat system in live games?