Player:LoadCharacter is buggy

game.Players.PlayerAdded:connect(
	function(player)
		player.CharacterAppearance = "http://assetgame.roblox.com/Asset/CharacterFetch.ashx?userId=156"
		player:LoadCharacter(true)
	end	
	)

What I expect this code to do:

Everyone who enters my game looks like Builderman.

What actually happens when I am testing it in Studio:

My character loads and then some of Builderman’s assets are layered on top. But my clothing (shirt, pants) is not replaced.

1 Like

Worse.

I have discovered that the above code works fine when the place is published.

So it is only broken when I want to test it in Studio.

2 Likes

It probably takes long on your pc to download the assets.
You can always hide the character until the character has completely loaded.

How do I detect this condition?

If I wanted to write code to wait for the new character to be loaded?

1 Like

Function bool Player:HasAppearanceLoaded()
I think that’s not the thing you actually need though.

This one definitly works for you:
Event Player.CharacterAppearanceLoaded(Instance character)

If you simply add a wait() it should fix your issue. I’ve dealt with this before.

1 Like

All client idiosyncrasies that are fixed with a single wait() should be annihilated.

39 Likes

Darn. I liked LocalScripts.

People run into problems with LoadCharacter and CharacterAutoLoads all the time, I believe some of them were supposed to have been fixed(?) But I guess there are still a few left.

When I use .CharacterAppearanceLoaded in studio, sometimes it is set to true before all of their character has loaded (e.g. some of their hats haven’t been added on yet, or one of their packages haven’t been inserted in their character) and I know this because I clone their appearance and place it in ReplicatedStorage for cutscenes

1 Like