I think it is reasonable to say that the expected behavior is, when CharacterAdded is called, the body parts inside of the character parameter are not just placeholders
However, the code below shows that the body parts that exist when CharacterAdded is called are not the same as the ones that exist when the character is parented to workspace (and wears a package as @byc14 clarified)
I just tested it in an essentially blank place in online mode for both R6 and R15 character models (though I had to change it to âRight Legâ for R6) and r1 == r2 printed true both times.
Are you testing in a blank place (ex maybe you have a script that is impacting this?)
Are there any options youâve changed that might make a difference (ex maybe the bug only shows up if CharacterAutoLoads is false or something)?
Are you only testing in Play Solo or some other run mode? What are you running the test on (Windows/Mac/other)?
Itâs R15 specific. When an R15 character spawns, the descendants are parented to nil (not :Destroy()ed, since they arenât locked) and new ones are created.
game:GetService("Players").PlayerAdded:Connect(function(Player)
Player.CharacterAdded:Connect(function(Character)
local tbl = {}
Character.DescendantAdded:Connect(function(d)
if not d:IsA("BasePart") then return end
table.insert(tbl, d)
print(d.Name .. " added")
end)
Character.DescendantRemoving:Connect(function(d)
if not d:IsA("BasePart") then return end
table.insert(tbl, d)
print(d.Name .. " removed")
end)
wait(2.5)
for _, v in pairs(tbl) do
print(v:GetFullName())
end
end)
end)
Interesting. Iâve run the script you showed for both R6 and R15 forced character models in both play solo and online modes for both an old place and a brand new one and the only output I get in each case is âHandle addedâ followed shortly after by its full path.
I think you need to wear a package. It seems the bodyparts are being loaded out in place for your packages, i.e for me itâs the city man life package. Only seems to happen with R15 though.
I think this is related to how calling humanoid:ApplyDescription(description) creates new instances for the body parts if they have different mesh ids⌠I find that also undesirable, but if itâs here to stay (perhaps if Roblox wanted developers to support avatars with different joints?), could that be clarified?