How do i make character JUMP?

Hey guys I’ve got a request to ask could you help me implement jump into my script ? I tried so many variations and none of them worked. It is in C# and should be written on the line 65 // Y - Up and Down. Thanks for any advice !

using UnityEngine;
using System.Collections;

public class PlayerMotor : MonoBehaviour
{
private CharacterController controller;
private Vector3 moveVector;

private Vector3 moveDir = Vector3.zero;
private float speed = 5.0f;
private float verticalVelocity = 0.0f;    
private float gravity = 12.0f;

private float animationDuration = 3.0f;
private float startTime;

private bool isDead = false;

//Use this for initialization
void Start()
{
    controller = GetComponent<CharacterController>();
    startTime = Time.time;

}

//Update is called once per frame
void Update()
{ 
    if (isDead)
        return;

    if(Time.time - startTime < animationDuration)
    {
        controller.Move(Vector3.forward * speed * Time.deltaTime);
        return;
    }

    moveVector = Vector3.zero;

    if (controller.isGrounded)
    {
        verticalVelocity = -0.5f;
    }
    else
    {
        verticalVelocity -= gravity * Time.deltaTime;
    }

    
    moveVector = Vector3.zero;

    if (controller.isGrounded)
    {
        verticalVelocity = -0.5f;
    }
    else
    {
        verticalVelocity -= gravity * Time.deltaTime;
    }

    // X - Left and Right
    moveVector.x = Input.GetAxisRaw("Horizontal") * speed;
    if(Input.GetMouseButtonDown(0))
    {

        if (Input.mousePosition.x > Screen.width / 2)
            moveVector.x = speed;
        else
            moveVector.x = -speed;
    }

    // Y - Up and Down

    moveVector.y = verticalVelocity; 

    // Z - Forward and Backward
    moveVector.z = speed;

    controller.Move(moveVector * Time.deltaTime);

}

public void SetSpeed(float modifier)  
{
    speed = 5.0f + modifier;
}

private void OnControllerColliderHit(ControllerColliderHit hit)
{
    if (hit.point.z > transform.position.z + 0.1f && hit.gameObject.tag == "Enemy") 
        Death();
}

private void Death()
{
    isDead = true;
    GetComponent<Score>().OnDeath();
}

}

The following script is based on your script and the official documentation for CharacterController.Move It handles jumping. Perhaps it can help you.

using UnityEngine;

[RequireComponent(typeof(Score))]
public class PlayerMotor : MonoBehaviour
{
    public float speed = 5.0f;
    public float jumpSpeed = 8.0f;
    public float gravity = 12.0f;

    private Vector3 moveDirection = Vector3.zero;
    private CharacterController controller;

    #region Unity Magic Methods
    // Awake is called when the script instance is being loaded
    void Awake()
    {
        controller = GetComponent<CharacterController>();
    }

    // Update is called every frame, if the MonoBehaviour is enabled
    void Update()
    {
        UpdateControllerMovement();
    }

    // OnControllerColliderHit is called when the controller hits a collider while performing a Move
    void OnControllerColliderHit(ControllerColliderHit hit)
    {
        bool isImpactPointMoreThanThis = hit.point.z > transform.position.z + 0.1f;
        if (isImpactPointMoreThanThis && hit.gameObject.CompareTag("Enemy"))
        {
            Destroy(this);
        }
    }

    // This function is called when the MonoBehaviour will be destroyed
    void OnDestroy()
    {
        GetComponent<Score>().OnDeath();
    } 
    #endregion

    /// <summary>
    /// Move the CharacterController according to player Input and gravity.
    /// Note that Input is only evaluated when the controller is grounded.
    /// </summary>
    public void UpdateControllerMovement()
    {
        EvaluateMoveDirection();
        controller.Move(moveDirection * Time.deltaTime);
    }

    private void EvaluateMoveDirection()
    {
        if (controller.isGrounded)
        {
            SetMoveDirectionByInput();
        }
        SetMoveDirectionByGravity();
    }

    private void SetMoveDirectionByInput()
    {
        moveDirection = new Vector3(
            Input.GetAxis("Horizontal"), 
            0, 
            Input.GetAxis("Vertical"));
        moveDirection = transform.TransformDirection(moveDirection);
        moveDirection *= speed;
        if (Input.GetButton("Jump"))
            moveDirection.y = jumpSpeed;
    }

    private void SetMoveDirectionByGravity()
    {
        moveDirection.y -= gravity * Time.deltaTime;
    }
}