character 2d movement

Is there a way to have a character run along the x axis with just using a character controller and not having to use a rigidbody with constant force script?

Just use Move at Update with Vector3.up as direction:

var character: CharacterController;
var speed: float = 5.0;   // moving speed
var direction: float = 1; // direction (-1 means -x)

function Start(){
    character = transform.GetComponent(CharacterController);
}

function Update(){
    character.Move(Vector3.right * speed * direction * Time.deltaTime);
}

You can even make the character to come back when reaching some limit - just invert the direction from 1 to -1 and vice-versa.