Multiple bugs in my code for player controls and collision problems

Im trying to do the physics and input for a player controlled character in a side scroller platformer.
I would like to use the built in gravity and collision systems that Unity already has. But im having issues.
This video shows my problems, http://www.youtube.com/watch?v=uZpl8zGH_MQ
Mainly unresponsive/jittery collision. There is also a problem with keeping my player from rotating. I imagine there is an option somewhere that does this and I shouldnt try to code it manually.
My player only has a Rigidbody2D and a Box Collider. Its an empty game object with an attached quad for future sprite animations. The quad technically has a Mesh Collider, but I have it unchecked, which removes it from being accounted for or calculated as far as I know.

There are options under the rigidbody to lock rotations and movement along any axis. Or at least there is in the 3D version so I imagine it is the same in 2D (though I haven’t used the 2D API at all).

The jitteriness you’re seeing is probably because you are moving your character manually by directly altering transform.position or .rotation. You move it into the wall and the physics engines moves it back out because that’s not a valid position. Keep holding the move button and you just get a jittery character. It is also bad for performance because it invalidates the physics engine’s internal state (“That rigidbody isn’t supposed to be there!?”) so it has recheck the entire scene to revalidate its state.

If you are using a rigidbody as a character controller, you can only move it by adding forces or torque through the Rigidbody2D’s methods.

I apprecate it!