A common question I still get asked by Unity users is how to fade or translate something over a specific period of time.

I usually like giving them this coroutine solution for this, as it's callable by any MonoBehavior and easy to understand. You can use this for anything including:

Fading between colors

Moving something from one position to another

Changing a float or int value over time (something like a light.intensity)

Rotating something over time

Here's one that fades a light color from it's current color to red over a time period: