Well, the way I did it was, first, checking the kinematic button on your character, then creating a FSM for moving your character using translate on fixed update.
Translate moves your character a fixed distance on every update so you need to figure out a system that mimics gravity and acceleration on the XY axis, things that the Unity physics engine is supposed to do for you. I can't tell you how to do that though since it's specific for what you need. I use a variable that stores a desired "fake velocity" number when you press left or right, then I divide it to a very small number and set it on translate X axis.
But for me this way gave me consistent jump heights and other physics things during low frame rates.