Platformer movement using Unity physics

I am trying to create a game where the player is constantly moving to the right, but is also able to jump. I am able to get the jumping working, or I am able to get the horizontal movement working, but not both. The horizontal movement is constant, and does not really need to be subject to physics, but the velocity from jumping does need to be subject to physics.

//This allows me to have the player constantly move right
rigidbody2D.velocity = new Vector3(playerSpeed, 0);

//This has the player jump
rigidbody2D.AddForce(new Vector3(0, jumpForce));

The problem is that every time FixedUpdate() is called, the force is set back to 0 because of the first statement. Is there any way to combine these two, or use something else to fix this?

You should retain the y velocity value like that:

    rigidbody2D.velocity = new Vector3(playerSpeed, rigidbody2D.velocity.y);

Also I’d recommend instead of constantly adding forces do it on your condition, e.g.:

    if (jumpForce > 0) rigidbody2D.AddForce(new Vector3(0, jumpForce));
    if (jumpKeyIsTrue) rigidbody2D.AddForce(new Vector3(0, jumpForce));