yield WaitForSeconds not working

I have this simple code but the yield doesn’t work at all. I dont get any errors.

function scoreShow () 
    Debug.Log("function is initiating");
    gameObject.guiText.enabled = true;
    yield WaitForSeconds(1);
    Debug.Log("yield successful");
    gameObject.guiText.enabled = false;        

I’ll bet you all my Karma that your Dead method contains the line


Once the GameObject that calls the coroutine is destroyed all of its coroutines stop execution.

Soultion is to call the coroutine from the killScore class. Make a wrapper method on killScore that starts the coroutine. Call that instead of the coroutine.