Another approach to control a game character is to use a Rigidbody component and make it subject to physics.
The Rigidbody adds several features to make a character behave as if it were a real physical object—it tends to fall down, it is pushed by other objects, and pushes them as well. If you want your game to have a realistic feel, then a Rigidbody is what you need.
The problem is that, more often than you may think, realism doesn't necessarily mean fun and engagement. As a matter of fact, the control style dependent on a Rigidbody is pretty realistic, but it is also not very precise. Momentum, friction, weight... these are all examples of variables you need to manage and appropriately tweak to get optimal game controls. In other words, with a Rigidbody you get fluidity, but you need to be comfortable with physics and have excellent programming skills to get true control.
With regard to gravity management, a Rigidbody has a parameter called Mass that defines how strong the...