...
StartCoroutine(SomeMethod());
Debug.Log("Works fine");
...
IEnumerator SomeMethod() {
Debug.Log("Works fine");
yield return new WaitForSeconds(1);
Debug.Log("Never called");
}
This code above used to work till I upgrade Unity to pro, so I believe the code it-self is ok.
But what could I be doing wrong? Could be a new player setting that comes with pro?
If I change WaitForSeconds for WaitForEndOfFrame or WaitForFixedUpdate, it works. Only WaitForSeconds stuck it.
it's really strange and i think there is a problem in another side, for example in your project settings/time or ... something changed (timescale or ...) and that could be the source of your problem cause the code is totally ok!
Have you tried making a new test project with primitives and just that code to see how it functions, I had some script just randomly stop working for me before, but it worked when I rebuilt my project from scratch.
Random thoughts:
1) You're not trying to call the coroutine from Update, are you? That won't work.
2) Try yield return new WaitForSeconds(1.0F); <- just in case.