public Color GetColorIfNoTexture(Material mat, ShaderTextureProperty texPropertyName)
 {
     if (texPropertyName.name.Equals("_BumpMap"))
     {
         return(new Color(.5f, .5f, 1f));
     }
     else if (texPropertyName.Equals("_MainTex"))
     {
         if (mat != null && mat.HasProperty("_Color"))
         {
             try
             { //need try because can't garantee _Color is a color
                 return(mat.GetColor("_Color"));
             }
             catch (Exception) { }
         }
     }
     else if (texPropertyName.name.Equals("_MetallicGlossMap"))
     {
         if (mat != null && mat.HasProperty("_Metallic"))
         {
             try
             { //need try because can't garantee _Metallic is a float
                 float v = mat.GetFloat("_Metallic");
                 Color c = new Color(v, v, v);
                 if (mat.HasProperty("_Glossiness"))
                 {
                     try
                     {
                         c.a = mat.GetFloat("_Glossiness");
                     }
                     catch (Exception) { }
                 }
                 return(c);
             }
             catch (Exception) { }
         }
         else
         {
             return(new Color(0f, 0f, 0f, .5f));
         }
     }
     else if (texPropertyName.name.Equals("_ParallaxMap"))
     {
         return(new Color(0f, 0f, 0f, 0f));
     }
     else if (texPropertyName.name.Equals("_OcclusionMap"))
     {
         return(new Color(1f, 1f, 1f, 1f));
     }
     else if (texPropertyName.name.Equals("_EmissionMap"))
     {
         if (mat != null)
         {
             if (mat.HasProperty("_EmissionColor"))
             {
                 try
                 {
                     return(mat.GetColor("_EmissionColor"));
                 }
                 catch (Exception) { }
             }
             else
             {
                 return(Color.black);
             }
         }
     }
     else if (texPropertyName.name.Equals("_DetailMask"))
     {
         return(new Color(0f, 0f, 0f, 0f));
     }
     return(new Color(1f, 1f, 1f, 0f));
 }