title: AddForce in Rigidbody2D not working at all
body: <p>I have been following guides, I have been trudging through dozens of forums, and subsequently, I have been ripping what's left of my hair out!</p>
  
  <p>As you can see in the code, I am trying to use velocity for the movement, and AddForce for the jumping motion. If I use velocity, it jumps super fast and at the maximum, I just don't want this to happen. I want a smooth jump, more realistic, so I saw it said to use AddForce instead. Except.... It doesn't even work at all, he just doesn't jump now... nothing. </p>
  
  <p>I worked with velocity. The code was 
  rb.velocity = jumping * jumpForce;</p>
  
  <p>Like I said, this worked, but it was jumping ridiculously fast and didn't look at all correct. </p>
  
  <pre><code>public class PlayerController : MonoBehaviour
  {
  
      public float speed = 3.0f;
      public float jumpForce = 4.0f;
      public Rigidbody2D rb;
      public Vector2 movement;
      public bool isJumping;
      public Animator animate;
      public Vector2 jumping = new Vector2(0,1);
  
  
      // Start is called before the first frame update
      void Start()
      {
          rb = this.GetComponent&lt;Rigidbody2D&gt;();
          //animate = this.GetComponent&lt;Animator&gt;();
      }
  
      // Update is called once per frame
      void Update()
      {
          //animate.SetFloat("Horizontal", Input.GetAxis("Horizontal"));
  
          movement = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical"));
  
  
      }
      void FixedUpdate()
      {
  
          moveCharacter(movement);
          jumpCharacter();
  
  
      }
  
      void moveCharacter(Vector2 direction)
      {
          rb.velocity = direction * speed;
  
      }
  
      void jumpCharacter()
      {
          if(Input.GetKey(KeyCode.Space) &amp;&amp; !isJumping)
          {
              isJumping = true;
  
              rb.AddForce(jumping * jumpForce);
          }
      }
  
      void OnCollisionEnter2D(Collision2D collision)
      {
          if (collision.gameObject.CompareTag("Ground"))
          {
              isJumping = false;
              rb.velocity = Vector2.zero;
          }
      }
  
  }
  </code></pre>