Play button not playing the game. BIG PROBLEM(Solved)

Today i loaded my project and nothing worked. the only thing i changed without testing the day before was adding a bool to a script that changed the players color.

Today when i hit play all of the codes run through their start functions then stop.
the only script that is working is the color changer. everything else seems frozen in time.

I have tried disabling all the scripts except game controller and the problem persists.

I have looked over my code for hours and haven’t found any issues with it.
everything just stops for no reason. Please help.

UPDATE: more debugging has found that the update sections are only called once.

Game controller script.

public GameObject[] hazardList;
public GameObject restartButton;

public int hazardCount;
public int hazardCountIncrease;


public float hazardSpeed;
public float speedIncrease;
public float startWait;
public float spawnWait;
public float waveWait;

public Vector3 spawnArea1;
public Vector3 spawnArea2;
public Vector3 spawnArea3;

public Text scoreText;
public Text highScoreText;
public Text gameOverScoreText;

private bool gameOver;
private float score;
private GameObject hazard;

void Start ()
{
    restartButton.SetActive(false);
    gameOverScoreText.text = "";
    highScoreText.text = "";
    scoreText.text = "Score: " + 0;
    gameOver = false;

    StartCoroutine(HazardWaves(spawnArea1));
    StartCoroutine(HazardWaves(spawnArea2));
    StartCoroutine(HazardWaves(spawnArea3));
}

IEnumerator HazardWaves(Vector3 spawnArea)
{
    yield return new WaitForSeconds(startWait);
    while (true)
    {
        //Base wave spawner
        for (int i = 0; i < hazardCount; i++)
        {
            GameObject hazard = hazardList[Random.Range(0, hazardList.Length)];
            Vector3 spawnPosition = new Vector3(Random.Range(spawnArea.x, spawnArea.x + 15), spawnArea.y, spawnArea.z);
            Quaternion spawnRotation = Quaternion.identity;
            Instantiate(hazard, spawnPosition, spawnRotation);
            yield return new WaitForSeconds(spawnWait);
        }
        hazardCount = hazardCount + hazardCountIncrease;
        hazardSpeed = hazardSpeed += speedIncrease;

        yield return new WaitForSeconds(waveWait);
        if (gameOver == true)
        {
            break;
        }
    }
}

void Update()
{
    if (gameOver == false)
    {
        score = Time.timeSinceLevelLoad;
        scoreText.text = "Score: " + score.ToString("f2");
    }
    if (gameOver == true)
    {
        scoreText.text = "";
        gameOverScoreText.text = "Score: " + score.ToString("f2");
    }
}
// commented this section out to try and fight the bug but even with this gone the game stops after the start section.
//public void GameOver()
//{
//    restartButton.SetActive(true);
 //   gameOver = true;
//    Time.timeScale = 0;
//}

public void ResartGame()
{
    score = 0;
    Time.timeScale = 1;
    Application.LoadLevel(Application.loadedLevel);
}

void SetHighScore(float score)
{
    if (PlayerPrefs.HasKey("highScore"))
    {
        if (PlayerPrefs.GetFloat("highScore") <= score)
            PlayerPrefs.SetFloat("highScore", score);
    }
    else
    {
        PlayerPrefs.SetFloat("highScore", score);
    }
}

Color Changer script.

public bool isRed;
public Renderer colorRenderer;

void Start ()
{
    isRed = false;
}

void Update ()
{
    if (Input.touchCount > 0)
    { 
        if (Input.GetTouch(0).phase == TouchPhase.Began)
        {
            isRed = !isRed;
            if (isRed == true)
            {
                colorRenderer.material.color = Color.red;
            }
            else
            {
                colorRenderer.material.color = Color.blue;
            }
        
        }       
    }
}

So i never figured out what went wrong and stopped my player, but i tried making a new project then copying the assets folder from the first project and then loading the scene in that folder.

Now everything works.

If someone figures out what the issue was i would love to hear it so i can hopefully avoid it in the future.