LoadCharacter() uses old character instead of creating a new character

This is really odd. If you set a player’s character to nil, then :LoadCharacter() the player, they’ll respawn with the hats and BodyColors that were on the previous character. Here’s what happens when the following code is run

while not player.Character do wait() end
for i=1,3 do
    wait()
    player.Character = nil
    wait()
    player:LoadCharacter()
end

It seems like one of the unspoken rules of the ROBLOX engine is to never explicitly set the Character property or you will have difficulties.

you mean ‘to never touch the roblox character at all’? it seems every time I mess with the roblox character and want to do anything with it, I run into poorly scripted corescripts, crappy half-functional resource management, and end up just making my own characters, after wasting a few dev days with their characters, I would seriously never use a roblox character ever again if Pants and Shirts could be applied to non-humanoid objects

I have messed with setting the characters before. With the CharacterAutoLoads set to true, and the character was set, it respawned the character, so it was not issue free. Character spawning needs fixing in my opinion.