I followed this youtube video on how to make a gun in unity but I think I messed up and now I can't see the ray, its there though and its working. Can someone help me make it visible?

this is my code, how do i make it so I can see the ray and I have made a enemy script which i checked and was correct.

using System.Collections;
using UnityEngine;

public class GunScript : MonoBehaviour
{
public Transform barrel;
public float range = 0f;

public float delay = 0f;
bool fired;
bool isAuto;
public KeyCode switchFireMode;

void Update()
{
    if (Input.GetButton("Fire1") && !fired && isAuto)
    {
        fired = true;
        StartCoroutine("FireAuto");
    }

    if (Input.GetButtonDown("Fire1") && !fired && !isAuto)
    {
        fired = true;
        StartCoroutine("FireSemi");
    }
    if(Input.GetKeyDown(switchFireMode))
    {
        if(!isAuto)
        {
            isAuto = true;
        }
        else
        {
            isAuto = false;
        }
    }
}
IEnumerator Fire()
{
    RaycastHit hit;
    Ray ray = new Ray(barrel.position, transform.forward);

    if (Physics.Raycast(ray, out hit, range))
    {
        if (hit.collider.tag == "Enemy")

        {
            Enemy enemy = hit.collider.GetComponent<Enemy>();
            enemy.health -= 1;

        }
    }
    Debug.DrawRay(barrel.position, transform.forward * range, Color.red);
    yield return new WaitForSeconds(delay);
    fired = false;
}
IEnumerator FireSemi()
{
    RaycastHit hit;
    Ray ray = new Ray(barrel.position, transform.forward);

    if (Physics.Raycast(ray, out hit, range))
    {
        if (hit.collider.tag == "Enemy")

        {
            Enemy enemy = hit.collider.GetComponent<Enemy>();
            enemy.health -= 1;

        }
    }
    Debug.DrawRay(barrel.position, transform.forward * range, Color.green);
    yield return null;
    fired = false;
    Debug.Log("we made it here");
}

}

From Unity Docs:

public static void DrawRay(Vector3 start, Vector3 dir, Color color = Color.white, float duration = 0.0f, bool depthTest = true);

The duration parameter determines how long the line will be visible after the frame it is drawn. If duration is 0 (the default) then the line is rendered 1 frame. Since you did not specify the durations, the problem lies there. Use this if you want to display it for 10 seconds.

Debug.DrawRay(barrel.position, transform.forward * range, Color.green, 10);