Body/movement constraints not working on the client?

I’m trying to make some cubes spin using linear velocity and angular velocity and something like this should probably be handled by the client since it really isn’t important, however, as the title says it doesn’t work.

This is my code which does work when ran by the server, but on the client, the parts just fall into the void and the constraints have no effect.

local function Spin(part)
	if not part or not part:IsA("BasePart") then return end
	local attachment = Instance.new("Attachment")
	attachment.Parent = part

	local lv = Instance.new("LinearVelocity")
	lv.Attachment0 = attachment
	lv.MaxForce = math.huge
	lv.VectorVelocity = Vector3.new(0,0,0)
	lv.RelativeTo = Enum.ActuatorRelativeTo.World
	lv.Parent = part

	local av = Instance.new("AngularVelocity")
	av.Attachment0 = attachment
	av.AngularVelocity = Vector3.new(-1,-1,0)
	av.MaxTorque = 250
	av.RelativeTo = Enum.ActuatorRelativeTo.World
	av.Parent = part	
	
	part.Anchored = false
end

for _,model in ipairs(UIAssets:GetChildren()) do
	if model:IsA("Model") and model.Name == "Cube" then
		Spin(model.Inner)
	end
end

Screenshot 2022-10-09 105404