Hello, developers!
I’m excited to introduce you NovaChat!
NovaChat is a fully custom chat system that replaces the default Roblox chat with a modern, feature-rich alternative. It includes custom channels, commands, ranks, RichText formatting, typing indicators, emoji support, and much more - all while maintaining full compatibility with Roblox’s core chat systems.
I’ve been working on this project for a while now, and I’m excited to finally release it to the community! Whether you’re building an RPG, a social hangout, or a competitive game, NovaChat gives you full control over your chat experience without sacrificing the reliability of Roblox’s native systems.
WARNING: I am not updating Creator Store Model. You can download the model from Uncopylocked Place or just Download it.
I’m developing this chat by myself and it takes me hundreds of hours. If NovaChat helped your game, please support me with a donation here so that I can continue to release updates. 
Features
- Chat Color Customization - Independent username & message colors
- RichText Markdown Formatting - Bold, italics, strikethrough, highlights
- Custom Sounds - Personalize notification sounds

- Channel Creation - Create unlimited custom channels
- Command Creation - Build your own chat commands easily
- System Messages - Send styled announcements & notifications

- Emoji + Commands Dropdowns - User-friendly selection menus
- Typing Indicator - See when others are typing

- Improved Bubble Chat - Enhanced Roblox bubble chat integration

- Core Chat Compatibility - Works seamlessly with Roblox’s chat systems

- Action Menu - Click on usernames for quick actions


- Anti-Spam Protection - Built-in spam prevention

- EXECUTOR - Command Bar/Terminal

Markdown Syntax
NovaChat supports custom markdown formatting for messages:
| Syntax | Result |
|---|---|
| * text * | Bold |
| _ text _ | Italics |
| ~~ text ~~ | |
| ++text++ | Yellow Highlight |
| ==text== | |
| !!text!! | Green Highlight |

You can customize these patterns in:
Handler > Data > Markdown
Installation
- Get the model from Creator Store, Uncopylocked Place, Google Drive or Download it.
- Configure your settings in
NovaChat > Installer > Handler > Data > Config. - That’s all! NovaChat will install automatically.
Documentation
Ranks
Location: Handler > Data > Ranks
Assign custom tags and colors to players based on their UserId or Group Rank.
Ranks.new()
:forUser(123456789) -- userId or {userId, userId...}
:setTag("VIP") -- tag name
:setTagColor(Color3.fromRGB(255, 0, 255)) -- tag color
:setNameColor(Color3.fromRGB(0, 255, 255)) -- main message color
:register() -- register
Channels
Location: Handler > Channels
Create custom chat channels with flexible access controls.
Channel.new()
:setName("General")
:setAccess("everyone") -- "everyone" | "friends" | UserId | {UserId, ...}
:setRemovable(false)
:setTabColor(Color3.new(1, 0, 0))
:register(onChannelSwitch) -- Must be LAST
Access Options:
"everyone"- All players"friends"- Friends onlyUserId- Single user{UserId, ...}- Multiple users
Commands
Location: Handler > Commands
Create custom chat commands with aliases and descriptions.
Command.new()
:setName("help")
:setAliases({"?"})
:setDescription("Show available commands")
:bindAction(function(args, uiRefs)
_G.Message.new()
:setMessage("Commands: /w, /clear, /console, /help")
:send()
return true
end)
:register() -- Must be LAST
System Messages
Location: Handler > SystemMessages
Send styled system messages to any channel.
local Message = _G.Message
Message.new()
:setSender("NovaChat")
:setNameColor(Color3.fromRGB(255, 215, 0))
:setBodyColor(Color3.fromRGB(255, 215, 0))
:setMessage('<font color="#d4d4d4">Welcome to the server!</font>')
:setChannel("General")
:setCore(true) -- Survives /clear
:setLifetime(5) --d Auto-remove after 5 seconds
:send() -- Must be LAST
Full Info: READ ME in the model or Documentations website.
DEVELOPER NOTES
- Do not rename scripts, modules, functions, variables, or events
- Do not relocate any files - other modules depend on their paths
- You may modify internals if you know what you’re doing, but avoid renaming
Next Updates/Bugfixes
- CHAT UPDATE PART 2 - V1.0.7
- GIFS / IMAGES SENDING
- PLAYERS’ ICONS
- MESSAGES ANIMATIONS
Credits:
@xRainbowFusionx - NovaChat SYNC & REACTIONS UPDATE
- Suggested to remove TopbarPlus and use default chat icon instead.
- Suggested to SYNC NovaChat with Roblox’s TextChatService.
Ideas were taken from OpenTextChatService by @TO_X2C
@IIIIlIIlllIlIlll - NovaChat SYNC & REACTIONS UPDATE
- Identifying a problem with
:GetChatForUserAsync()and returning unfiltered text.
Changelog
[v1.0.7] - CHAT UPDATE PART 2 (04/24/2026)
- Added Image & Gifs (Videos)
Note: Only Game Creator, Group Owner, Allowed users can send images & gifs. You can turn on access to everyone, but do that at YOUR OWN risk. Roblox Images & Videos moderation is NOT good
-
Added Players Autocomplete Dropdown.
— Now when you type @… , there is going to appear a Players Autocomplete Dropdown. -
Added Reports & Reports View
— You can now report players to the game owner by clicking on them and choosing “Report” in Action Menu. -
Added Bans, Kicks, Chat Mute (Moderation)
— You can now ban, kick, mute players in your game. -
Added Channel Dropdowns
— You can now create Channel Dropdowns
Example:
Channel.new()
...
:addDropdown({
Channel.new()
:setName("Media")
:setTabColor(Color3.new(1, 1, 0))
:canAccess(Player)
})
- Added Teleport between Places (When you report. Idk why i put this as a new feature, not part of the reports feature)
- Send Embeds using Embeds LocalScript (Scrapped / Coming in 1.0.71)
- Changed BubbleChat Logic, now support both, Images & Gifs
- Changed ChannelBar Y Size from 45 > 40
- Fixed Translate Icons access denied. Now using roblox’s core textures
[v1.0.6] - CHAT UPDATE PART 1 (03/28/2026)
- Updated Config ModuleScript
- Added Pinned Messages. (ONLY GAME CREATOR, GROUP OWNER OR USER WITH HIGH RANK IN GROUP CAN PIN MESSAGES)

- Added Edit and Delete options in Action Menu.


- Added Chat Translation (Translation service in Handler > Services > TranslationService)
- Fixed Caret color is not changing;
NovaChat V1.0.7 - CHAT UPDATE PART 2 - A Modern, Feature-Rich Chat Replacement (UPDATE) - #145 by xRainbowFusionx - Fixed Messages overlapping Reactions;
NovaChat V1.0.7 - CHAT UPDATE PART 2 - A Modern, Feature-Rich Chat Replacement (UPDATE) - #143 by lol_GG1HACKE
[V1.0.5] - UI BUGFIX (03/21/2026)
- Fixed Chat Messages overlapping eachother
- Fixed Settings button Scales
- Fixed Reactions Frame and Search in Reactions Frame scales
[V1.0.4] - SYNC & REACTIONS UPDATE (03/20/2026)
- Added better connection between TextChatService and NovaChat.
- TextChatService Configurations now working on NovaChat
- NovaChat now uses
TextChannel:SendAsync()now - Removed TopbarPlus, NovaChat now uses Roblox’s Chat Icon.
- When channels are disabled, and player is whispering other players, channels are turning on and adding the whisper channel.
- Added Reactions to the messages.

- Converted Installer to the Package so you dont need to update it by yourself anymore.
[V1.0.3] - EXECUTOR UPDATE (03/17/2026)
-
REMOVED BLACKLIST
-
Added EXECUTOR (Command Bar/Terminal)

-
Added Regions Restrictions in Config:

-
Simplified the Ranks module.
-
Added Team Channels
-
Added Auto-Updater (v1.0.3+)
FIXES
- Fixed NovaChat sometimes doesnt even load.
- Fixed SettingsButton doesnt disappear when settings are disabled.
- Fixed you can type <font … > in the chat and it will work
- Fixed send button doesnt work.
- Fixed Roblox’s original bubble chat doesnt disappear.
- Fixed Messages are duplicating.
- Fixed Channel Tab color is not changing
[v1.0.1 + v1.0.2] - AGE UPDATE (03/13/2026)
- NovaChat is back to CREATOR STORE!
- Added Age Groups as an option in Config

(Its called fallback because i was testing this in-studio.) - Added Replies
- Fixed Typing Indicator is not displayed
- Fixed Highlights backgrounds did not disappear after the chat become inactive.
[v1.0.0] - RELEASE (03/11/2025)
- Initial public release







































