Problem with yield return... in coroutine for asset bundles

Anyone else ever have any issues running an IEnumerator from a scene that is being delivered from an asset bundle?

I have a gameobject in the main part of the app that has an IEnumerator on the assigned class where I do a yield return new WaitForEndOfFrame() because there’s a text component that I wait for the width to automatically resize after the content of the text changes before I do some calculations. This all works great there. Then I load a scene from an asset bundle where there’s another gameobject with that same class that calls the same IEnumerator on itself but it gets stuck on the yield return new WaitForEndOfFrame(). I tried switching to waitforseconds, yield return new, yield return new waituntil, waitwhile. I’m seriously at a loss.

I saw other forum posts suggest that the Time.TimeScale needs to be 1. I checked and it already was. The asset bundle has other objects in there that also have IEnumerators but they don’t get hung up like this one. I feel like it’s something simple but I keep looking at what’s going on and I don’t see anything wrong with it (just like every programmer ever who wrote code and couldn’t understand why their stuff wouldn’t work).

Not necessarily looking for an answer but more so if there is anyone who has seen this problem themselves. Potentially might report this as a bug to Unity.


Hey guy,

We have this exactly problem right now in something that usually worked before.
A lot of things changed in this meanwhile (more features, more platforms, different versions of Unity), so I really have zero idea about what is causing this problem.

Now I tried with 2017.4.6f1 and 2017.4.10f1.

Did you figure it out?