Color Changer Gui not affecting Character

My goal for this system is to successfully change the color of the avatar depending on what you pick. Currently the color changings being skin color and favorite color.

However, the only problem is that it doesn’t even add the changes to the character

For example, The Favorite color i chose is purple while the skin color I chose is this tan like color.
Color problem 1

But when i see it in game, This happens…
Color problem 2.0

This actually isn’t the original planned model, it is the image below. I don’t know why the model above had the arms colored
Color problem 3

I don’t think showing the entire system is necessary for this problem, but i should in case.

Ill start with the explorer first

This is what is in my starter character with it’s own FavColor and SkinColor Color3 Value

The image below shows one part the things each colorable part has, The main things to look at being FavColor and SkinColor, These values are actually bool values,

Color problem 5

This is the script that it is supposed to use the color 3 values for coloring every part.


local Svalue = script.Parent:WaitForChild("SkinColor")
local Fvalue = script.Parent:WaitForChild("FavColor")
local HumanParts = script.Parent:GetChildren()



for i = 1, #HumanParts do
	if HumanParts[i]:IsA("MeshPart") then
		if HumanParts[i].SkinColor.Value == true then
			HumanParts[i].Color = Color3.fromRGB(Svalue.Value)
		elseif HumanParts[i].FavColor.Value == true then
			HumanParts[i].Color = Color3.fromRGB(Fvalue.Value)
		else
		end
	end
end

Svalue.Changed:Connect(function()
	for i = 1, #HumanParts do
		if HumanParts[i]:IsA("MeshPart") then
			if HumanParts[i].SkinColor.Value == true then
				HumanParts[i].Color = Color3.fromRGB(Svalue.Value)
			elseif HumanParts[i].FavColor.Value == true then
				HumanParts[i].Color = Color3.fromRGB(Fvalue.Value)
			else
			end
		end
	end
end)
Fvalue.Changed:Connect(function()
	for i = 1, #HumanParts do
		if HumanParts[i]:IsA("MeshPart") then
			if HumanParts[i].SkinColor.Value == true then
				HumanParts[i].Color = Color3.fromRGB(Svalue.Value)
			elseif HumanParts[i].FavColor.Value == true then
				HumanParts[i].Color = Color3.fromRGB(Fvalue.Value)
			else
			end
		end
	end
end)

Mostly everything works, The values even have the colors i chose earlier, the coloring is the only thing wrong with it, I’m also sorry in advance if some parts of code are unnecessary or hard to read.

Why not just use Body Colors within the player’s character?
image

I never heard of body colors before, imma go see what it is, thanks for the sugguestion though.

actually what I think you meant about body colors is that it takes the colors a person already chose, But the main thing is that I’m planning to make the color system, mainly for favorite colors because I’m planning to make some armour colors to be the same as the favorite color picked

Still, use body colors for the character and only use your system for the armour.

ok, but the main reason i posted this was because the system i made for the favorite colors was broken, So im wondering on any ideas for fixes.

local FavColor= script.Parent:WaitForChild("FavColor") -- bool value

FavColor.Changed:Connect(funciton(NewValue)
  if NewValue then
    -- give favourite skin color
  else
    -- default skin color
  end
end)

Are you using remote events to do this? This won’t really work without them plus even if it worked, not everyone would be able to see this change…

I used it for setting the color3 values. But i did see the change happen in the server too