CFrame has both Positional and Rotational information. If you instead tween the Position property, then the Rotation property, then you shouldn’t have any issues.
I’ve came up with maybe a bit inefficient method but it works for now!!
Inside WaypointTo script:
while true do
script.Parent:PivotTo( CFrame.new( script.Parent.GoalPosition.Value.Position) * script.Parent.GoalRotation.Value.Rotation )
task.wait(.01)
end
The goalposition is a CFrameValue and same with goalrotation. You have to tween the goalposition/rotation values.