private void DoMovement() { float dist = (target.transform.position - transform.position).sqrMagnitude; if (dist < .0001) { // we're where we want to be, kill all our speed if (idleStart == -1) { mover.Stop(); idleStart = Time.time; } } else { Vector3 dir = (target.transform.position - transform.position); if (dist > 0.05) { dir.Normalize(); } mover.Move(dir); } }