CharacterAppearanceLoaded:Wait() loading infinitely if there's StarterCharacter

Not sure if this is an engine bug or if I’m just stupid.
I have tried and experimented with CharacterAppearanceLoaded:Wait() and it just loads infinitely when I am using a StarterCharacter, whereas it loads just fine when I am just using my avatar.

Do note that I must use CharacterAppearanceLoaded:Wait() because I have to let the meshes and accessories of the player load.

It’s possible that the character appearance is loaded prior to the connection being setup.

Try doing an initial check to see if the appearance is loaded, and only do the CharacterAppearanceLoaded:Wait() if it is not loaded.

if not plr:HasAppearanceLoaded() then
	repeat
		plr.CharacterAppearanceLoaded:Wait()
	until plr:HasAppearanceLoaded()
end

don’t seem to work, i still load infinitely

Don’t have it contained within the repeat statement. Just have the if statement.
IDK if it will resolve the issue though, so I’ll think of an alternative.

For testing purposes, if you use coroutine or task.spawn, can you please have a while loop that output the state of plr:HasAppearanceLoaded() every few seconds, to see if it actually updates.

well, none of the methods i tried worked, so I’m resorting to this for now

if not game:GetService("StarterPlayer"):FindFirstChild("StarterCharacter") then
	plr.CharacterAppearanceLoaded:Wait()
end