Unity fade image alpha con el tiempo

Quiero cambiar el alfa de mis imágenes de la interfaz de usuario gradualmente en lugar de al instante. Hasta ahora, mi código para desvanecer el alfa de mi imagen al instante es el siguiente

public void Highlight()
{
    foreach (Image image in imagesToHighlight)
    {
        Color c = image.color;
        if(c.a < maxColor)
        {
            c.a = maxColor;
        }

        image.color = c;
    }

    foreach (Image image in imagesToFade)
    {
        Color c = image.color;
        if(c.a > halfColor)
        {
            c.a = halfColor;
        }
        image.color = c; 

    }

}

El código anterior funciona bien, pero estoy luchando por modificar mi código para que, en lugar de hacerlo instantáneamente, lo haga lentamente durante un segundo o dos. He intentado cambiar la lineac.a = maxColor; ac.a-- para ver si la imagen se desvanecería lentamente, pero el alfa simplemente cae instantáneamente.

¿Qué estoy haciendo mal?

Respuestas a la pregunta(2)

Su respuesta a la pregunta