Hey all, I have a weird issue with coroutines that stop for no reason. I found out that similar issues were discussed here as far back as 2012 : http://answers.unity3d.com/questions/277772/what-can-cause-a-coroutine-to-not-being-working.html My problem is that I have a script that starts a coroutine that handles the execution over multiple frames of a character skill. The coroutine usually works fine. In some game conditions (that should have no effect at all in any way on the skill script) the skill stops working. We found out that the coroutine stops even with no calls to StopCoroutine or StopAllCoroutines. I'm positive that we have no code at all stopping the coroutine explicitely or disabling the gameObject that has the skill component. I even tried running the coroutine on another GameObject (otherObject.StartCoroutine(this.myCoroutine())). I'm getting pretty frustrated by this bug considering there is no dependency between my skill class and the classes that handles the game state that seems to be triggering the bug, and there are no calls to stop the coroutine anyway. If anyone's got any idea or knows if this has been logged to the issue tracker and is known about by the Unity people, let me know. Or if you guys have any idea of what I could check out in my code... Edit : the issue was caused by an Invoke("method", time) call with a time value that was a NaN value. Doing this eventually caused all coroutines to stop and break all subsequent coroutines. If you run through a similar issue, check your Invoke calls.