Coroutines were Unity’s solution to running multiple simultaneous processes at a time when the version of C# it supported did not have Async & Await. Now that Unity’s version of C# supports Async & Await, Coroutines are obsolete .
Read moreAre coroutines async await?
The async/await pattern is built on two functions: async() to wrap the function call and the resulting value in a coroutine, and await() , which suspends code until the value is ready to be served.
Read more