Crouch Script, slow down movement

I’d like to slow down the movement when the player is crouched. Any Ideas?

private var crouchHeight : float;
 private var standardHeight : float;
 private var crouching : boolean = false;
 private var controller : CharacterController;
 private var mainCamera : GameObject;
 
 
 function Start () {
     controller = GetComponent(CharacterController);
     mainCamera = gameObject.FindWithTag("MainCamera");
     standardHeight = controller.height;
     crouchHeight = controller.height/2;
     crouching = false;
 }
 
 function Update () {
     if (Input.GetKeyDown (KeyCode.C))
     {    
         if(crouching){
             controller.height = standardHeight ;
             controller.center = Vector3 (0, 0, 0);
             mainCamera.transform.localPosition.y += crouchHeight;
             crouching = false;
             return;
             
             }
 
     if(!crouching)
     crouch();
     }
 }
 
 function crouch() {
         controller.height = crouchHeight;
         controller.center = Vector3 (0, -0.5, 0);
         mainCamera.transform.localPosition.y -= crouchHeight;
         crouching = true;
 }

If you’re using the standard first-person-controller then you could do something like:

    function crouch()
    {
        controller.height = crouchHeight;
        controller.center = Vector3(0, -0.5, 0);
        mainCamera.transform.localPosition.y -= crouchHeight;
        crouching = true;
        var motor = GetComponent("CharacterMotor");
        motor.movement.maxForwardSpeed = 5.0; //default 10
        motor.movement.maxSidewaysSpeed = 5.0; //default 10
        motor.movement.maxBackwardsSpeed = 5.0; //default 10
        motor.movement.maxGroundAcceleration = 10.0; //default 20
    }
}