you'll want something like this if you are using rigidbodies Code (CSharp): public float moveSpeed; void FixedUpdate(){ if(input.getkey(keycode.A){ GetComponent<Rigidbody2D>.velocity = new vector2 (-moveSpeed, GetComponent<Rigidbody2D>().velocity.y); //to flip sprite transform.localscale = new Vector3(-1,1,1); } if(input.getkey(keycode.D){ GetComponent<Rigidbody2D>.velocity = new vector2 (moveSpeed, GetComponent<Rigidbody2D>().velocity.y); //to flip sprite transform.localscale = new Vector3(1,1,1); } } for jumping you'll want to set a jumpHeight float and change your x velocity according to your jumpHeight.
Check this one: https://github.com/prime31/CharacterController2D Also check the 3DBuzz free tutorial on youtube.