Position argument for Player:LoadCharacter() and other changes

add an argument to the LoadCharacter method of player that allows for a position to be specified for the character

it would also be nice if the LoadCharacter method returned the character, as it’s already a yieldfunction

12 Likes

I’d advocate for the latter of the two, but not the first one. After all, if the second one was added, it’d allow you to simple move the character with :SetPrimaryPartCFrame() easily.

1 Like

It only yields for R15 characters as far as I am aware.

If the Player’s Character is using R15, this function will yield until all of the player’s CharacterAppearance assets have loaded.

I believe a separate method might be needed for this behavior.

It should yield the same way for both. Despite the yield behavior only working for R15, waiting until all a character’s assets have loaded is not inherently an R15 issue.

1 Like

The yielding behavior is the way it is because of backwards compatibility. When Player:LoadCharacter was changed to a yield function the behavior couldn’t be changed for R6 character loading in a backwards compatible way.

The behavior is that the function will yield until the character is added to Workspace, for R6 this will happen immediately and the assets will be loaded asynchronously and added to the character. For R15 all the assets are loaded asynchronously (synchronously from a Lua perspective but async C-side) before the character is spawned.