HumanoidRootPart Position different from server and client

I made a mechanic that just teleports the player by changing the humanoidrootparts position, after use this is the result


As you can see on the clients screen they are perfectly fine but on the server the character is under the map with the humanoidrootpart in place

Did you use PivotTo:

Do you have any code, since this is scripting support?

Sorry I thought I put it in

local posCFrame = attackedCharacter.PrimaryPart.CFrame * CFrame.new(0,0,-3)
local pos = posCFrame.Position
Character.PrimaryPart.Position = Vector3.new(pos.X, attackedCharacter.PrimaryPart.Position.Y, pos.Z)

You need to use PivotTo or SetPrimaryPartCFrame to correctly move the entire character, including syncing with the server. Just changing the position of the PrimaryPart doesn’t account for the physics or the other parts of the character.

Even using this I get the same issue

You need to move the whole character, not just one part. Make sure the physics system is not interfering, and sync changes properly between the server and client.

1 Like

Change the CFrame of the HumanoidRootPart instead of the Position.