[spoiler]Not really sure if this is intended behavior, but it was eating up my steps per sec permanently dropping it from ~20/s to ~5/s so I isolated it to this small case. Throwing out the wait fixed my issue, and while it didn’t affect my code personally I really would like this to not cause a drop just because of a little yield…
Repo is easy, put this in a Script.
function playerAdded(player)
wait(0.03)
player.Character = nil
end
for _, player in next, game.Players:GetPlayers() do
playerAdded(player)
end
game.Players.PlayerAdded:connect(playerAdded)
Appears to be a combination of the yield and setting the player’s Character property to nil.[/spoiler]
Correction:
After some testing I found that I can’t delete the character without causing network receive to drop, so I examined what parts of the character were necessary. It seems that the Head is a must to have in the Character model; everything else can be thrown away. I’d really like to be able to destroy the Character without having this sort of behavior.
Repo is easy: just delete the head of a character rig or set the character model to nil.