Moving on the Y axis - wont move 'up'

Hello all, I’m pretty new to unity. But I managed to find some code in the unity manual on getting characters to move. I adjusted it so I could move up and down the Y axis on keys ‘q’ and ‘e’. The down works great but the up dos’nt work at all. Also when I use combinations of forward and straif I go down.

Theres somthing I’ve just not understood here, any help appriciated!

using UnityEngine;
using System.Collections;

public class VehicleController : MonoBehaviour {
    public float speed = 10.0F;

    private Vector3 moveDirection = Vector3.zero;
    void Update() {
        CharacterController controller = GetComponent<CharacterController>();
            moveDirection = new Vector3(Input.GetAxis("Horizontal"), Input.GetAxis("UpDown"), Input.GetAxis("Vertical"));
            moveDirection = transform.TransformDirection(moveDirection);
            moveDirection *= speed;
            
        controller.Move(moveDirection * Time.deltaTime);
    }
}

Actually figured it out, it was because I was using a character controller. I removed that and used a addrelativeforce on a ridged body. In all it worked way better giving a much more floaty feel.

i believe ben would be correct if in the input settings the vertical axis is not set to take input from the “q” and “e” buttons it will not do so since the defaults are set to “up” and “down” or “w” and “s” they are interchangeable but you can change that in: edit > project settings > input > axes then change the positive and negative buttons to whatever you want them to be