Unity c# trying to invoke a void that is no longer being invoked

Unity keeps trying to invoke a void that no longer exists or is no longer being invoked.

I’m repeatedly getting this message in my console:

Even after I have went though and deleted the invoke call and the method it’s trying to call.

Current script (No invoke or function to invoke, but tries to do so):

using UnityEngine;
using System.Collections;

public class SpawnerGroupEnableTime : MonoBehaviour {

    public GameObject firststage;
    public GameObject Secondstage;
    public GameObject ZeroStage;
    public SqiushySpawner SquishySpawner1;

    // Use this for initialization
    void Start ()
    {
        ZeroStage.SetActive (true);

        firststage.SetActive (false);

        Secondstage.SetActive (false);

        Invoke ("DelaySpawn", 25.5f);
        Invoke ("DelaySecondStage", 35.0f);
        //Still Trying to invoke the third stage even though it's gone.
        //Invoke was was being called here after 55 seconds.
    }

    // Update is called once per frame
    void DelaySpawn ()
    {
        if (SquishySpawner1.WillSpawnSquishy == true)
        {
            firststage.SetActive (true);
        }
        else
        {
            return;
        }
    }

    void DelaySecondStage()
    {
        if (SquishySpawner1.WillSpawnSquishy == true)
        {
            Secondstage.SetActive (true);
        }
        else
        {
            return;
        }
    }

    //Location of the void "DelayThirdStage" that was being invoked.
}

Old Script With the invoke (This is from a backup of the project):

using UnityEngine;
using System.Collections;

public class SpawnerGroupEnableTime : MonoBehaviour {

    public GameObject firststage;
    public GameObject Secondstage;
    public GameObject ZeroStage;
    public GameObject ThirdStage;
    public SqiushySpawner SquishySpawner1;

    // Use this for initialization
    void Start ()
    {
        ZeroStage.SetActive (true);

        firststage.SetActive (false);

        Secondstage.SetActive (false);

        ThirdStage.SetActive (false);

        Invoke ("DelaySpawn", 25.5f);
        Invoke ("DelaySecondStage", 35.0f);
        Invoke ("DelayThirdStage", 55.0f);
    }

    // Update is called once per frame
    void DelaySpawn ()
    {
        if (SquishySpawner1.WillSpawnSquishy == true)
        {
            firststage.SetActive (true);
        }
        else
        {
            //Debug.Log("Delay spawn is about to return");

            return;
        }
    }

    void DelaySecondStage()
    {
        if (SquishySpawner1.WillSpawnSquishy == true)
        {
            Secondstage.SetActive (true);
        }
        else
        {
            //Debug.Log("Delay second Stage is about to return");

            return;
        }
    }

    void DelayThirdStage()
    {
        if (SquishySpawner1.WillSpawnSquishy == true)
        {
            ThirdStage.SetActive (true);
        }
        else
        {
            //Debug.Log("Delay second Stage is about to return");
          
            return;
        }
    }
}

How could this be happening? any one willing to help or give advice it will be appreciated :slight_smile: !

Bump, still looking for a solution to this.

That’s weird. Have you tried restarting Unity?

Yes, that doesn’t seem to help though.

I’d give it a try: Don’t you working on the backup file? Which will not be in the project so the Log will still send the same since your project script still have the third call?