Below is the script I am using. My character is just a simple sphere, no animations, in my modeling program Y is up, X is left-right, Z forward-back. I have adjusted the vector3 and, local to global without any change. What is happening is when I use W the character shoots up in the air instead of forward.
var speed = 3.0; var rotateSpeed = 3.0; function Update () { var controller : CharacterController = GetComponent(CharacterController); transform.Rotate(0, Input.GetAxis ("Horizontal") * rotateSpeed, 0); var forward = transform.TransformDirection(Vector3.forward); var curSpeed = speed * Input.GetAxis ("Vertical"); controller.SimpleMove(forward * curSpeed); } @script RequireComponent(CharacterController)