The new 2D update (Unity v4.3, released 2013-11-12) have come with the new Rigidbody2D component.
My previous code uses the 3D-based rigidbody, moving it using Rigidbody.AddForce(). I specified that the AddForce() uses ForceMode.VelocityChange, which conveniently ignores mass and just makes it better for a playable character.
Rigidbody2D.AddForce() on the other hand does not support ForceMode at all, it has only one way of dealing with velocity and that is ‘force = mass * acceleration’.
Here’s the part of my code that applies the target velocity to the rigidbody:
How to convert this movement to the Rigidbody2D? Preferably I am looking for an identical conversion, as I am quite keen on how the character feels right now when moving.
Yeah, no forcemodes (yet?) on Rigidbody2D. However, you should be able to the same result as ForceMode.VelocityChange by just adding your new velocity to the rigidbody2D.velocity.