Parenting character to nil then parenting to Workspace makes player move to 0,0,0

This was previously reported to DevForum under ScriptingSupport, but not addressed as a bug within the engine: Parenting character to nil then parenting…

To produce this, simply set a character’s parent to nil, then set it back to Workspace. Below is some sample code that will work 100% of the time in a Script placed in ServerScriptService on an empty baseplate. It seems that :MoveTo() is fired toward 0,0,0. Occasionally forcefield will stay on forever. This is completely unexpected and “phantom” behavior.

game.Players.PlayerAdded:connect(function(player)
	local character = player.Character or player.CharacterAdded:Wait()
	task.wait(3)
	character.Parent = nil
	task.wait(1)
	character.Parent = game.Workspace
end)

The “phantom” invocation of :MoveTo(0,0,0) and forcefield persistence needs to be addressed as a bug.

3 Likes

Thanks for the report. We are investigating.

4 Likes

Is this still happening for you? I am unable to reproduce it.

-:skull: