public void SnapTo(ObjectSnapZone zone) { SnapTargetPos = zone.CurrentSnapSlot().pos + zone.transform.position; var position = transform.position; var points = new[] { position, ((position + SnapTargetPos) / 2) + (Vector3.up * (Vector3.Distance(position, SnapTargetPos) / 2)), SnapTargetPos }; var path = new GoSpline(points); var config = new GoTweenConfig(); config.positionPath(path, false); config.easeType = myEaseType; Go.to(transform, throwTime, config); }