My character fly up very slow.

I modified code, that allows first person controler to fly. Everything is working fine, but… for some reason, my character fly up slower than goes down. My code below. Any idea?

var speed = 6.0;


function FixedUpdate() {
		var cam = transform.Find("Main Camera").gameObject.GetComponent(Camera);
	    
	    var moveDirection = cam.main.transform.TransformDirection (Vector3.forward);  
		Debug.Log(moveDirection.x);
		moveDirection.z =Input.GetAxis("Vertical")*speed;
		moveDirection.x =Input.GetAxis("Horizontal")*speed; 
		moveDirection.y *=Input.GetAxis("Vertical")*speed;
        moveDirection = transform.TransformDirection(moveDirection);
        
		Debug.Log(moveDirection);
        var controller : CharacterController = GetComponent(CharacterController);
        var flags = controller.Move(moveDirection * Time.deltaTime);
    }

@script RequireComponent(CharacterController)

when my stuff is flaying then I use rigidbody rather using character controller and at first I detect where my stuff going to flay in earth atmosphere , in space or in predefined environment. if my stuff are in space , controller I was tried to build is bellow and it’s work fine.):

//If an atmosphere Surrounded use gravity and air drag ,lift and bank into a turn

var rollFighter :float=0;
var pitchFighter:float=0;
var throttleDelta : float=1;
var accelerateConst: float = 10;
var decelerateConst: float = 0;
var smoothRotation : float = 1.5;
var speedConst : int = 250;
var throttleConst = 30;
var maxSpeed : float = 100;
var lockedConst : boolean;
var rotationConst : int = 100;
var pitchConst = 80;
var rollConst = 80;
var yawConst = 80;
var pitchDelta : float = 1.05;
var rollDelta : float = 1.05;
var yawDelta : float = 1.05;

private var trueSmooth : float;
private var truePitch : float;
private var trueRoll : float;
private var trueYaw : float;
private var thrust : float;
private var trueThrust : float;
private var yaw:float=0;
private var roll:float=0;
private var pitch:float=0;
private var initPitch:float;
function Start ()
{
gameObject.rigidbody.drag = 1;
if (lockedConst == true)
{
pitchConst = rotationConst;
rollConst = rotationConst;
yawConst = rotationConst;
Screen.showCursor = false;
}
initPitch=-Input.acceleration.x * pitchConst;
}

function Update ()
{

pitch = -Input.GetAxis ("Vertical") * pitchConst;
roll = Input.GetAxis ("Horizontal") * rollConst;
yaw = -Input.GetAxis ("Horizontal") * yawConst;

pitch *= pitchDelta * Time.deltaTime;
roll *= -rollDelta * Time.deltaTime;
yaw *= yawDelta * Time.deltaTime;

// Smothing Rotations...
trueSmooth = Mathf.Lerp (trueSmooth, smoothRotation, 5* Time.deltaTime);
truePitch = Mathf.Lerp (truePitch, pitch, trueSmooth * Time.deltaTime);
trueRoll = Mathf.Lerp (trueRoll, roll, trueSmooth * Time.deltaTime);
trueYaw = Mathf.Lerp (trueYaw, yaw, trueSmooth * Time.deltaTime);

var throttle = (-(Input.GetAxis ("Horizontal"))+0.5)/2 * throttleConst;
throttle *= throttleDelta * Time.deltaTime;
if ( throttle >= trueThrust)
{
	trueThrust = Mathf.SmoothStep (trueThrust, throttle, accelerateConst * Time.deltaTime);
}
if (throttle < trueThrust)
{
	trueThrust = Mathf.Lerp (trueThrust, throttle, decelerateConst * Time.deltaTime);
}	

// This is a airbrake, this increases drag, lowering your speed
if (Input.GetButtonDown ("Fire1"))
{
	// Do such
}

}

function FixedUpdate ()
{
if (trueThrust <= maxSpeed)
{
gameObject.rigidbody.AddRelativeForce (0,0,trueThrustspeedConst/5);
transform.Translate(0,truePitch
2,0);
}

rollFighter=trueRoll;     
pitchFighter=truePitch;  

}

Got it! Problem lay in one tiny option. Project settings> physic and there, where is loot of check boxes, I unchecked option Default/Default. Dunno what that is doing, but work now.