How to Create an RGB Character in Roblox Studio

SIeepyDeveIoper here representing the Learning Resources group!
https://x.com/LearnOnRoblox

Do you want to make your character stand out with glowing and RGB effects? This guide will show you how to create it! This feature is perfect for party or dance games.

First, go to StarterPlayer > StarterPlayerScripts in your Explorer panel. Right-click and insert a LocalScript. Paste the following script into it:

local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()

local function createHighlightForPart(part)

	local highlight = Instance.new("Highlight")
	highlight.Adornee = part
	highlight.Parent = part


	local hue = 0


	task.spawn(function()
		while highlight.Parent do

			local color = Color3.fromHSV(hue, 1, 1)
			highlight.FillColor = color
			highlight.OutlineColor = color


			hue = hue + 0.01
			if hue >= 1 then hue = 0 end

			task.wait(0.1)  
		end
	end)
end


local function highlightCharacter()
	for _, part in pairs(character:GetDescendants()) do
		if part:IsA("BasePart") then
			createHighlightForPart(part)
		end
	end
end

highlightCharacter()
character.ChildAdded:Connect(function(child)
	if child:IsA("BasePart") then
		createHighlightForPart(child)
	end
end)

player.CharacterAdded:Connect(function(newCharacter)
	character = newCharacter
	highlightCharacter()
end)

How the Script Works

  • Highlights Each Part: Loops through all parts of the player’s character and applies a glowing highlight effect.

  • Dynamic RGB Colors: The script cycles through colors using Color3.fromHSV, creating a smooth RGB animation.

  • Updates in Real Time: It automatically applies highlights to new parts added to the character.

Pre-Made Model

Showcase

  • Here’s a quick preview of how this looks in action:
    RPReplay_Final1730388885
6 Likes

You don’t need to go through each part, highlights are limited, just parent one to the character

1 Like

an example of that:

local highlight = Instance.new("Highlight")
local player = game.Players.LocalPlayer :: Player
local character = player.Character or player.CharacterAdded:Wait()
highlight.Parent = character
local hue = 0
while 1 do
	local color  = Color3.fromHSV(hue,1,1)
	highlight.FillColor = color
	highlight.OutlineColor =  color
	hue += 0.01
	if hue >= 1 then
		hue = 0
	end
	task.wait(0.1)
end
1 Like

Thank you! This example is much better.