US Trends

how to color tools in roblox dex script

In Roblox, you usually color a Tool by changing the color of the parts inside it, or by switching the Tool’s equipped state script to set a part’s Color or BrickColor. The most common way is to do it when the tool is equipped using Tool.Equipped and Tool.Unequipped.

Simple example

If your Tool has a part named Handle, you can do this in a Script inside the Tool:

lua

local tool = script.Parent
local handle = tool:WaitForChild("Handle")

tool.Equipped:Connect(function()
	handle.Color = Color3.fromRGB(255, 0, 0)
end)

tool.Unequipped:Connect(function()
	handle.Color = Color3.fromRGB(255, 255, 255)
end)

That uses Color3.fromRGB(...), which is the recommended way to set an exact RGB color, instead of using Vector3.

For multiple tool parts

If the Tool has more than one part, loop through the children and color every BasePart:

lua

local tool = script.Parent

local function colorTool(color)
	for _, obj in ipairs(tool:GetDescendants()) do
		if obj:IsA("BasePart") then
			obj.Color = color
		end
	end
end

tool.Equipped:Connect(function()
	colorTool(Color3.fromRGB(0, 170, 255))
end)

This is useful when you want the whole tool to change color, not just the Handle.

Common mistakes

  • Use Color3.fromRGB(...) for RGB values, not Vector3.new(...).
  • Use part.Color for modern color changes, or part.BrickColor if you want Roblox’s named colors.
  • Make sure the part you want to color actually exists and is referenced correctly, often with WaitForChild.

Dex note

If you mean changing colors inside Roblox Dex while inspecting a game, that’s usually done by finding the Tool or part in the explorer and editing its properties or script, not by any special Dex-only color command. The same Roblox Lua rules still apply.

tldr

Use a script inside the Tool, connect Equipped, and set the part’s Color with Color3.fromRGB(...).