Basic character movement with joystick

Hello,
After searching and trying several things for the past 4 hours I am ready to search for any help. I am trying to create a top down “gauntlet” style game. I have a xbox 360 controller setup and am just trying to get basic character movement down. Here is the script that I have written thus far:

//Default moving speed
var speed = 6.0;
 
var gravity = 20.0;

private var moveDirection = Vector3.zero;

function FixedUpdate() {

var controller : CharacterController = GetComponent(CharacterController);

moveDirection = Vector3(Input.GetAxis("Horizontal1"), 0, Input.GetAxis("Vertical1"));

moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;

moveDirection.y -= gravity * Time.deltaTime;

controller.Move(moveDirection * Time.deltaTime);

}

Now when I run my game The character seems to move opposite of what I do. (Up on the joystick send the character down and vice versa) Also Left seems to work but pressing right the character does not move, very strange… Maybe my input manager settings are screwed up. Does the above code seem correct for moving my character? Thanks in advance

Hey man, if you’re using a quaternion to rotate your char, try to remove the line 14:

moveDirection = transform.TransformDirection(moveDirection);

It worked for me…