Fading to Transparent, makes all objects transparent even in Editor mode?!

I’m trying to make a message pop up on screen, and the text and background of the message fade out to transparent. It works great, but as soon as it hits 100% transparent, all other gameobjects become invisible (still in scene though), and they don’t come back even after stopping the simulation or changing scenes! I have to restart Unity for all the gameObjects to come back. Any idea why this is happening?

var bt = GameObject.Find ("BottomText");
    		float alpha = bt.transform.GetComponent<Image>().material.color.a;
    		for (float t = 0.0f; t < 1.0f; t += Time.deltaTime / 2.0f)
    		{
    			Color newColor = new Color(1, 1, 1, Mathf.Lerp(alpha,0.0f,t));
    			bt.transform.GetComponent<Image>().material.color = newColor;
    			yield return null;
    		}

Changes to a materials properties affect the material itself. This means that all game objects using the same material will have the new settings applied.

It’s can be very disconcerting behavior but it makes sense once you understand there is only one of each material.

If your Image is a UI.Image (new Unity UI) you can use CrossFadeAlpha:

// Fade to transparent in 2 seconds. True ignores Time.timeScale so
// UI transitions still work when the game is paused.
bt.GetComponent<Image>().CrossFadeAlpha(0, 2, true);