How can I detect when the characters appearance has fully loaded?

I’m trying to detect when my avatar is no longer invisible when the character model gets instanced.

I’ve tried to solve this issue in 4 different ways but none of them have been successful.

First I’ve tried to utilize CharacterAppearanceLoaded but this does not properly detect when the parts are fully visible to the client.

I’ve tried to use LoadCharacter but the parts are still invisible.

I’ve also tried to debug this with DescendantAdded on the character and see if this has to do with descendant instances loading in later.

I’ve also tried PreloadAsync but this still did not work.

Animation

Surely this has to be an engine bug? There’s no reason .CharacterAppearanceLoaded should fire before the parts are visible to the client right? What can I do and are there any ‘hacky’ ways to make this work?

1 Like

You can try this:

script.Parent.CharacterAppearanceLoaded:Wait()
1 Like

I’d urge both you and @BandQueenForever to read through which solutions I’ve tried before suggesting the same thing over again.

That does not work and neither does:

its pretty impossible to wait BUT you can repeat task.wait() the children until the children is the max accesories, oh also a question, why do u need to load character appearance?

This issue scales up to game assets not being visible to the client either upon loading in and there are no APIs to my current knowledge that ensure they are visible. It’s annoying to look at if the APIs ensure that your game is fully loaded when in reality it’s not. The engine should handle this.

Yielding the thread with task.wait for every descendant a set amount sounds like an incorrect way to solve the issue since client load times can vary.