Coroutine stuck Infinite while loop
This could be due to the use of Time.time
which is known to have issues in our engine and it will not update whilst in a coroutine.
Consequently, any code using Time.time
within a coroutine will most likely produce incorrect calculations, as this variable is not updating, an infinite while loop is likely to occur.
Possible solution:
- Use
time.DeltaTime
instead ofTime.time
if possible, or some other value which can be manually incremented withtime.DeltaTime
. For example:
//initialised before the coroutine starts
float newTime;
//not inside of the coroutine
newTime = Time.time + time.DeltaTime;