Old character is destroyed when setting Player.Character to another value

Player.Character isn’t exactly fully predictable because the default PlayerScripts seem to expect a certain order of operations similar to the default character loading process. For example, parenting a new Character to Workspace before setting the property on the player, causes the character to not be initialised correctly. Is it possible this is also an undocumented order-of-operations issue?

To clarify, this property rather ensures Player characters are Destroyed rather than parented to nil and left there. This fixes possible memory-leaks depending on code setup. This property shouldn’t fix this issue as the property should already be functional and as you stated, this property does not currently fix this issue for you and is targeted at fixing a different issue.

4 Likes