Lets say i have 3 coroutines running and all of them uses yield return null, I want to know each frame will run all 3 of them, or only 1 of them ? Lets say each coroutine need 60 frames to complete, do i expect they will end within 60 or 180 frames ?
Each time you create a coroutine, Unity adds it to an internal list of coroutines, and runs through them all on every frame.
When people say that coroutines are synchronous, they mean that one coroutine is updated at a time rather than truly running in parallel. However, rest assured they are all updated every frame (just try not to stay in one coroutine for too long because you’re blocking the rest of the application).