Hi, I'm Oliver.

Coffee enthusiast with a love for all things tech. Tech enthusiast with a love for all things coffee. Studying for my Bachelor's in Computer Science at USW.

How I recreated Unity's coroutine system

Early last year, I wrote a blog post which explained how Unity's coroutines work. In my conclusion, I expressed that I underestimated the level of wizardry they involved, so much so that it went far beyond the scope of the article. I figured it was time to perhaps elaborate on that, and show you a glimpse of Unity's game loop and how the coroutine system works in the engine (at least, my interpretation of it.)

Friday, 21 January 2022 · 11 min · Oliver

How do Unity’s coroutines actually work?

Coroutines in Unity are a way to run expensive loops, or delays in execution, without having to involve multithreading. That's right – although it's commonly believed that coroutines are multithreaded operations, they in fact run on the main thread. But have you ever asked yourself why coroutines return IEnumerator? What does that even mean? We'll take a look at how they work, and I hope to explain just how genius they are.

Tuesday, 27 April 2021 · 8 min · Oliver