Character Not Changing Colour


I have a big script set up to load a character etc. In one part of it I set the players skin colour. Only the head changes colour and I’m not sure why. I can see that through parts are being recognised through the if statements but they’re not being coloured

The part of the script that handles skin colour:

	for i, v in pairs(rig:GetDescendants()) do
		if v:IsA("Part") or v:IsA("MeshPart") or v:IsA("BasePart") then
			if v.Name ~= "Handle" then
				print("Should change colour")
				v.Color = Color3.fromRGB(c1, c2, c3)

local function ProcessSkinColour(value, rig)

	if value == "SkinColour1" then
		ChangeSkinColour(value, rig, 86, 66, 54)
	elseif value == "SkinColour2" then
		ChangeSkinColour(value, rig,160, 132, 79)
	elseif value == "SkinColour3" then
		ChangeSkinColour(value, rig, 147, 87, 49)
	elseif value == "SkinColour4" then
		ChangeSkinColour(value, rig, 234, 187, 140)


Edit: Process skin colour is the first function that gets called

1 Like

Why not using the BodyColors instance inside the Character?
If there is one instance of that in your character, it kinda ignores the colors of parts, and the bodyParts uses the colors in BodyColors instance

Thanks for your help! This was the solution :smile:

1 Like