Change color between 2 values mid game.

I know this must be incredibly simple but I’m very lost.

What i want to do is get a color to go from value a to b at a certain moment.
I realized that I can do this at the start using this

transform.renderer.material.color = Color.Lerp(Color.black, keywordColor, Time.time);

Since Time.time is still 0 when the game starts.

Later on I want to do this again but since Time.time is already higher than one I can never get the transition from value a to value b…

I tried to go even simpler and being able to do a Mathf.Lerp between 1 and 0 and cant figure it out, whenever i try to do it other than right at the start of a game it doesn’t work.

Capture the time at the start and treat that as zero.

A la:

 function StartLerp() {
   lerpstart = Time.time;
 }
 function UpdateLerp() {
   if ( Time.time - lerpStart > 1 ) lerpStart = Time.time - 1; // and send some message that it's time to stop the lerp
   color = Color.Lerp( from, to, Time.time - lerpstart );
 }