BodyColor changes are not properly replicated to clients

Changing the BodyColors of a character from the server will not always replicate to the Client. If BodyColors are altered after they have replicated to the client they will change to the nearest BrickColor instead of the proper Color3 value.

This script demonstrates the issue:

function setUpCharacter(character)
	wait(2)
	local bodyColors = character:FindFirstChild("Body Colors")
	local skinToneColor3 = Color3.new(0, 0, 0)
	bodyColors.HeadColor3 = skinToneColor3
	bodyColors.LeftArmColor3 = skinToneColor3
	bodyColors.RightArmColor3 = skinToneColor3
	bodyColors.LeftLegColor3 = skinToneColor3
	bodyColors.RightLegColor3 = skinToneColor3
	bodyColors.TorsoColor3 = skinToneColor3
end

function OnPlayerAdded(player)
	if player.Character and player.Character.Parent ~= nil then
		setUpCharacter(player.Character)
	end
	player.CharacterAdded:Connect(function(character)
		if character.Parent == nil then
			character.AncestryChanged:wait()
		end
		setUpCharacter(character)
	end)
end
2 Likes

This topic was automatically closed after 1 minute. New replies are no longer allowed.