void FixedUpdate() { rigi.MovePosition(Vector3.MoveTowards(transform.position, target, speed * Time.deltaTime)); if (Vector3.Distance(transform.position, target) < 0.1f) { if (target == startPos) { target = endPos; } else { target = startPos; } } velocity = transform.position - lastPos; lastPos = transform.position; if (child != null) { child.GiveParentVelocity(velocity); } }