Tweening / changing BodyColor or Clothing properties rapidly causes other character textures to randomly swap

Reproduction Steps:

  1. Create two rigs with humanoids
  2. Apply Clothing and BodyColors to both rigs
  3. Create a script similar to the following which rapidly tweens or changes properties on both rigs’ BodyColors and Clothing (this bug will occur as long as you tween / change one property rapidly)
local b : BodyColors = script.Parent["Body Colors"]
local s : Shirt = script.Parent["Shirt"]
local p : Pants = script.Parent["Pants"]
task.wait(1)
while task.wait(.1) do
	game:GetService("TweenService"):Create(b, TweenInfo.new(.1), {HeadColor3 = BrickColor.random().Color}):Play()
	game:GetService("TweenService"):Create(s, TweenInfo.new(.1), {Color3 = BrickColor.random().Color}):Play()
	game:GetService("TweenService"):Create(p, TweenInfo.new(.1), {Color3 = BrickColor.random().Color}):Play()
end

Alternatively just use this repro place:

ClothingRepro.rbxl (154.2 KB)
4. Notice how the incorrect clothing / textures is being applied to the characters.


BEFORE:


AFTER:

Also, notice the broken face texture on the right, the bacon hair is stealing the full texture from my avatar
The first character to render gains full priority with what texture is rendered on each, you can confirm this by using BindToRenderStep

System Info:
CPU: Intel(R) Core™ i5-8400 CPU @ 2.80GHz
GPU: NVIDIA GeForce GTX 1050
Memory: 16GB

Expected behavior

I expect both rigs to have separate colour changing textures.

4 Likes

Hello and thank you for the report, research and the sample, it will be very helpful. Our team will investigate the issue.

2 Likes

For some reason, it functions as intended when the camera is very close to the “NotAbcreator”

To make it clear, the issue is not fixed when putting your camera close to “NotAbcreator”, the issue simply just swaps characters making “Abcreator” render incorrectly instead. My assumption is that this could be because “NotAbcreator” is being rendered before “Abcreator” in this case.