Что это?
Функции, выполняющиеся с задержками между кадрами. Не блокируют основной поток.
Зачем?
• Плавные анимации
• Таймеры и задержки
• Постепенная загрузка контента
• Работа с WWW/UnityWebRequest
Как использовать?
IEnumerator Fade()
{
float alpha = 1f;
while (alpha > 0)
{
alpha -= Time.deltaTime * 0.5f;
GetComponent<Renderer>().material.color = new Color(1, 1, 1, alpha);
yield return null; // Ждём следующий кадр
}
}
// Запуск:
StartCoroutine(Fade());
Важные нюансы:
• Всегда объявляй как
IEnumerator •
yield return new WaitForSeconds(2f) - пауза •
yield return new WaitUntil(() => condition) - ожидание условия • Останавливай через
StopCoroutine() 💡 Не используй для физики! Только для визуала и таймеров.
#Unity #Coroutines #CSharp #GameDev
