Hey Devs! Today I will show you not that very popular feature that is very easy to implement which is customizing a chat. Before we start, check out my other Make your games more unique tutorials! Let’s start!
Introduction
We will be changing chat window size, colors, fonts, etc. Because everything is done in localscripts, we can change the player’s chat depending on the player’s team, name, etc. We will today make a simple script that will change everyone’s chat.
Chat Window Customization
We can’t change many things, but your game will look better with them. If we want to change the window’s position, we need to use Udim2. Let’s start with the window’s size and position.
Add a localscript to StarterPlayerScripts.
Script:
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("ChatWindowSize", UDim2.new(0,500,0,300)) -- You can change your size.
And now our chat window has a different size.
I’ll also change the position of it.
Script:
StarterGui:SetCore("ChatWindowPosition", UDim2.new(0,0,0,410))
And we changed the position.
Chat Properties (colors, fonts and other settings)
For starters, we need to test play our game. When we load in we need to copy the ChatSettings module script located in Chat, ClientChatModules.
Then we stop our game and add a folder to the Chat called “ClientChatModules” and paste the ChatSettings module script to it.
We can change everything in it. We can choose if we want our chat to be resizeable or the colors and pretty much everything related to our chat. I’ll change only the color, font and make the window draggable.
I change the chat’s background color to green.
Background color script: (Find the script in ChatSettings and change the color)
module.BackGroundColor = Color3.new(0,1,0)
and the chat bar color script: (I change it to white)
module.ChatBarTextColor = Color3.new(5, 5, 5)
(if you want to change the border color, you need to change the color of it too).
Font script:
module.DefaultFont = Enum.Font.Arcade
You can also change the chat bar font, but it should be obvious now.
Draggable chat window script:
module.WindowDraggable = true
And here’s the result!
It doesn’t really look that bad.
Custom Chat Messages
You can also make your own custom messages that will appear on the chat!
I’ll make a script that will show a message every 10 seconds on the chat. I would recommend making a new script (in StarterPlayerScripts) to not confuse yourself with other settings.
Script:
local StarterGui = game:GetService("StarterGui")
while true do
wait(10)
StarterGui:SetCore("ChatMakeSystemMessage", {
Text = "Please leave a like on our game!",
Color = Color3.new(1,0,0),
Font = "Arcade",
TextSize = 25
})
end
Of course, you can make multiple messages to show.
In the end, I think the colors that I set could be better lol.
Thanks!
Thank you for reading my tutorials and I hope they will help you sometime. Don’t expect master scripting here, I want to show features that are easy to implement and unique and which you could add to your game. If you like my tutorials check out my all Make your games more unique tutorials. If you have any problems, I suggest you to read this article: DevHub Article
Links:
DevHub Article: StarterGui:SetCore
All tutorials with unique features: Make your games more unique!
Check out my last tutorial: PromptPremiumPurchase
Thanks to @Amiaa16 for helping me with the chat window properties!