Skip to content
RED SAGSkills
easyGame Developer interview question

What are coroutines in Unity, and when would you use them instead of Update or async/await?

What the interviewer wants to hear

  • Coroutines are methods that pause with yield and resume on later frames
  • Good for sequences over time like fades, timed spawns or cutscenes
  • They run on the main thread, not in parallel
  • They stop when the object is deactivated or destroyed
  • async/await or Awaitable suits waiting on IO and composing results

Model answer

A coroutine is a method that returns IEnumerator and can pause with yield, then continue on a later frame. For example, yield return new WaitForSeconds(2) waits two seconds without blocking the game. I use them for sequences over time, such as fading the screen, spawning waves with delays, or a simple cutscene, because the code reads top to bottom instead of being split across state flags in Update. They are not threads: everything still runs on the main thread, so heavy work inside them still causes hitches. They also stop if the GameObject is deactivated. For loading files, web requests or chaining results, I prefer async with Unity's Awaitable type, which handles cancellation and return values more cleanly.

Can you answer it under time pressure?

Take a timed easy round and get scored on every answer.

Start mock interview

More easy Game Developer questions