ModuleScripts aren’t editable like you may think. When you require() a module, it returns a copy of whatever it returns. Meaning all you did in your script was edit a copy of the module and not the module itself. But also, scripts that run during your game don’t have the security necessary to edit the .Source property, meaning you can’t change it.
So how do you get around this? Play test the game, copy the ClientChatModules, exit the play test, then paste the ClientChatModules in the Chat instance you see in the explorer, then you can edit the font from there.
This will not work, , if I remember correctly. You’ll need to create a local script in StarterPlayerScripts.
Try pasting this code into the local script.
-- Require the ChatSettings module (wait for it to load)
local Chat = game:GetService("Chat")
local ClientChatModules = Chat:WaitForChild("ClientChatModules")
local ChatSettings = require(ClientChatModules:WaitForChild("ChatSettings"))
-- Change settings like you would with any other table.
ChatSettings.DefaultFont = Enum.Font.Gotham;
ChatSettings.ChatBarFont = Enum.Font.Gotham;