How to handle walls with my FirstPersonCharacter?

I am using a rigidbody to control my character. I am setting its velocity based an the player input, and it works pretty great (it’s similiar to the one in the new Sample Assets from Unity). Only problem is: If my character jumps against a wall and keeps moving in the direction of the wall, the character isn’t falling. Any ideas how I could solve this?

Since your character is a ridgidbody, why not just let the built in code handle the fall for you. Set your ridgidbody to be effected by gravity in the editor. Then when

if(Input.GetButtonDown("Jump"))
{
    ridgidBody.AddForce(0f, jumpSpeed, 0f);
}

Then remove this

 rigidbody.velocity = input + Vector3.up * verticalVelocity;
rigidbody.AddForce(0f,-9.81f,0f);