I initially made a mistake that was causing alpha to increase much too rapidly. It took me a moment to figure it out. I thought I’d pass it on: make sure you increment within the while loop, rather than doing what i did below. Calculating a separate variable outside the while loop means you increment by the wrong fixed amount.
IEnumerator FadeOut(float time)
{
**float deltaAlpha = Time.deltaTime / time;**
while (faderCanvas.alpha < 1)
{
faderCanvas.alpha += deltaAlpha;
yield return null;
}
}
}