Why does this happen?

So it’s obvious that local and not local scripts are different. However, this simply does not make sense for me;

If you make a character model (using the plugin Roblox gives to you) and you teleport the humanoid root part, the whole thing will teleport with it. HOWEVER, if you do this same thing with a local script, only the humanoidrootpart will teleport and not the rest of the body. Does anyone know why?

Example:

local test = workspace.test
local HRP = test.humanoidrootpart
HRP.CFrame = CFrame.new(1,1,1)

What it does:

Teleports the whole character

—————————————————-
But Same code but with local script only teleports the humanoid root part.

1 Like

Assuming that ‘test’ is a dummy then its due to networkownership. I assume the dummy has the networkship of the server thus you can’t move it with local script, that’s why it works for server because it gets replicated to anywhere. Thought it could also be that the other parts are anchored thus only the root part gets teleported.

1 Like

The server has network ownership of the dummy, so when its root is moved by the server via a server script the entire dummy is moved with the root, however, when its root is moved by the client via a local script only the root is moved and not the model itself.

1 Like