/// <summary>
/// Projector material is like renderer.shaderMaterial. if you need to change instance, use this extension.
/// </summary>
/// <param name="projector"></param>
/// <param name="color"></param>
/// <param name="keepAlpha"></param>
public static void ChangeColor(this Projector projector, Color color, bool keepAlpha = true)
{
var mat = new Material(projector.material);
if (!mat.name.Contains("(Instance)"))
mat.name += " (Instance)";
if (keepAlpha)
color.a = mat.color.a;
mat.color = color;
projector.material = mat;
}