In what method are you updating the viewport frame? Maybe try changing the method
ex:)if youre using a while loop or something, maybe try updating the viewport frame using something like runservice renderstepped? I don’t really know much about all this runservice stuff so I might be wrong
No, I only have the character model under a worldmodel under the viewportframe, there aren’t any other updates to it.
Also I have noticed that the delay only exists when using the code in my original post to create the character. So I’m wondering if there are any other ways to create a model of a player’s character?
Yes, I’ve tried using Humanoid:ApplyDescription() on a dummy that is already present in the ui and the delay still exists due to game.Players:GetHumanoidDescriptionFromUserId(id).
My only solution would be cloning the player character as soon as the player joins and caching it in server storage or wherever you would want to store it, therefore the humanoid description should only be applied once and you can access the character at any time.
Maybe you could try prioritizing the character and stuff by placing everything related to the viewportframe into ReplicatedFirst? I never used it so I might be wrong.