title: Vector2.MoveTowards not stopping at target position
body: <p>I am trying to move an object from its current position (on a trigger call) to a target position at a specific speed <strong>and make it stop at the target.</strong></p>
  <p>This is the code I have:</p>
  <pre><code>bool needsToMove = false; 
  float speed = 5f;
  
  
  void OnTriggerEnter2D(Collider2D collision)
  {
      needsToMove = true;
  }
  
  void FixedUpdate()
  {
      MoveDown();
  }
  
  
  void MoveDown()
  {
      if (needsToMove)
      {
          Vector2 targetPosition = new Vector2(transform.position.x, transform.position.y - 1f);
          transform.position = Vector2.MoveTowards(transform.position, targetPosition, Speed * Time.deltaTime);
        
      }
      
  }
  </code></pre>
  <p>The problem is, that the game object doesn't stop at the target position, it keeps going in the same direction.</p>
  <p>I tried adding a coroutine to switch the bool &quot;needsToMove&quot; to false after a couple of seconds but doing that is tedious as I have to pretty much guess the exact time it will take to stop at the target.</p>
  <p>Maybe I need to use another method instead of MoveTowards?</p>