How to stop 3rd Person Contoller from moving diagonally?

Greetings, I would like to know how to stop my player from moving diagonally and just have the player move forewards, backwards, left, and right. Does anyone here know how to do so?

It probably has something to do with your movement script!

It should look something like this:

function Update() {
    var controller : CharacterController = GetComponent(CharacterController);
    if (controller.isGrounded) {
        // We are grounded, so recalculate
        // move direction directly from axes
        moveDirection = Vector3(Input.GetAxis("Horizontal"), 0,
                                Input.GetAxis("Vertical"));
        moveDirection = transform.TransformDirection(moveDirection);
        moveDirection *= speed;
        
        if (Input.GetButton ("Jump")) {
            moveDirection.y = jumpSpeed;
        }
    }

    // Apply gravity
    moveDirection.y -= gravity * Time.deltaTime;
    
    // Move the controller
    controller.Move(moveDirection * Time.deltaTime);
}

I am having a similar problem, albeit with addForces. Did you ever find a solution to this?