How to create realistic curve with new bodyMovers?

I’m experimenting with the new bodyMovers and they dont seem to be as good as the deprecated ones, im trying to curve a ball and I use linearVelocity, vectorForce, and angularVelocity. to curve it I previously used bodyVelocity, bodyForce, and bodyAngularVelocity. but for some reason it seems like the old ones work better/are more realistic. Am I using these new bodyMovers correctly? should I be using different bodyMover instances?

local function applyVelocity()
	local linearVelocity ="LinearVelocity")
	linearVelocity.VelocityConstraintMode = Enum.VelocityConstraintMode.Vector
	linearVelocity.RelativeTo = Enum.ActuatorRelativeTo.World
	linearVelocity.ForceLimitMode = Enum.ForceLimitMode.PerAxis
	linearVelocity.Attachment0 = centerAttachment
	linearVelocity.MaxAxesForce =, math.huge, math.huge)
	linearVelocity.VectorVelocity =, 0, 0)
	linearVelocity.Parent = ball
	Debris:AddItem(linearVelocity, .3)
	local vectorForce ="VectorForce")
	vectorForce.RelativeTo = Enum.ActuatorRelativeTo.World
	vectorForce.ApplyAtCenterOfMass = true
	vectorForce.Attachment0 = centerAttachment
	vectorForce.Force =, 0, 150)
	vectorForce.Parent = ball
	Debris:AddItem(vectorForce, 1)
	local angularVelocity ="AngularVelocity")
	angularVelocity.RelativeTo = Enum.ActuatorRelativeTo.World
	angularVelocity.Attachment0 = centerAttachment
	angularVelocity.MaxTorque = math.huge
	angularVelocity.AngularVelocity =, -50, 0)
	angularVelocity.Parent = ball
	Debris:AddItem(angularVelocity, 2)

Hey I was struggling a lot with the Body Movers- try repeating this code but on the client- I take it you have done so on the server? The character replicates its own physics to the server so if you do it on the client it should be much smoother and utilising the new body movers should be a lot better.

	self.OnClientEvent:Connect(function(Force, Duration)
		local Character	=	Player.Character or error("Velocity Called From [SERVER], But Player Has No Character")
		local Humanoid_Root	=	Character.PrimaryPart	
		if not Humanoid_Root then warn("Velocity Called From [SERVER] : Player Character Has No Root") return end
		local Linear_Velocity	="LinearVelocity")
		local Attachment_Root	="Attachment")
		Attachment_Root.Parent	=	Humanoid_Root
		Linear_Velocity.Parent	=	Attachment_Root
		Linear_Velocity.Attachment0 = Attachment_Root
		Linear_Velocity.MaxForce	=	10000
		Linear_Velocity.VelocityConstraintMode	=	Enum.VelocityConstraintMode.Vector
		Linear_Velocity.RelativeTo	=	Enum.ActuatorRelativeTo.Attachment0
		Linear_Velocity.VectorVelocity	=	Force or,50,60)*(2)
		task.delay(Duration or 0.1, Attachment_Root.Destroy, Attachment_Root)

Also I reccommend you check this topic on Debris.