Xbox 360 controller strafing problems

Hey all,

I am working on getting an Xbox 360 controller working on for my FPS game. I was able to get it to work, button press and looking with the right thumb. The problem I ham having is with the left thumb for my movement.

I inverted the Y in the input manger so when i press up i move forward and down i move backward. It works good until i move at an angle, when both axis are greater then zero. Example: when i press up and left at like at 45 degrees, my FPS controller will move back and to the left. but if i just push up my fps controller will move forward.

I looked for code to try and fix this with no luck. I tried FPSWalkerEnhanced, and it did the same thing.

I tweaked the normal FPSWalker code a lil and it help, but was a lil glitchy ( see Below)

function FixedUpdate() {
if (grounded) {

    var inputX = Input.GetAxis("Horizontal");
    var inputY = Input.GetAxis("Vertical");

    if(inputX != 0.0 && inputY != 0.0)
    {

    moveDirection = new Vector3(inputX, 0, -inputY);
    moveDirection = transform.TransformDirection(moveDirection);
    moveDirection *= speed;
    }
    else
    {       

    moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
    moveDirection = transform.TransformDirection(moveDirection);
    moveDirection *= speed;
    }

I was wondering if anyone might know what I am doing wrong, or if there is any code out there that will work better with an xbox360 controller.

Thanks

Hey all,

I did some research and found this site. http://roidz.weebly.com/

He made an input manager that fixed my problem. Was a lil tricky to implement into my game, but I think that is because I am still learning the whole program and scripting.

Also is up on the forums at. http://forum.unity3d.com/threads/53726-Custom-Inputmanager-v1.4-VERY-easy-to-use-now-!

Hope this helps anyone else who may have a similar problem