Okay, I had the exact same issue and I’ve made it work.
First of all, Roblox will not replicate client-owned parts that are anchored.
So you have to Unanchor the part.
Then once its unanchored, you have all sorts of other issues to deal with like gravity, rotation, velocity, etc.
You can counteract all of that with something like the following:
if (DoUnAnchoredPhysics ==true) then
local BodyForce = playerModel:FindFirstChild("BodyForce",true)
BodyForce.Force = Vector3.new(0, playerModel.PrimaryPart:GetMass() * workspace.Gravity,0) --If you have more than 1 part, you'll have to calculate the mass total..
playerModel.PrimaryPart.Velocity = Vector3.new(0,0,0)
playerModel.PrimaryPart.Orientation = Vector3.new(0,0,0)
playerModel.PrimaryPart.RotVelocity = Vector3.new(0,0,0)
end
Then you are free to just set the parts position every frame however you want, and it will replicate as expected.