Shaders: Can not create fixed function shaders using "new Material(string)" anymore.

From the release notes:

  • Shaders: Can not create fixed function shaders using “new Material(string)” anymore. Shaders must come from assets or be fully precompiled in the editor.

Does this mean I won’t be able to do this anymore?

        matOutboardEngine = new Material(Shader.Find("Standard"));
        matOutboardEngine.CopyPropertiesFromMaterial(matBaseOutboardEngine);

My game revolves around customizing vehicles which includes allowing the players to set the colors of the meshes. Is this no longer possible? Is there another way? Am I just misunderstanding the release notes possibly? Maybe what I’m doing here is ok because I’m just using Find() on the standard shader? That’s all I need for my project, really.

You should be fine because you are not creating a shader; you are referencing an existing shader. I believe the sort of thing that doesn’t work with the new fixed function shader feature is creating a shader inline, like this:

mat = new Material(
  "Shader \"Hidden/Clear Alpha\" {" +
  "Properties { _Alpha(\"Alpha\", Float)=1.0 } " +
  "SubShader {" +
  "  Pass {" +
  "  ZTest Always Cull Off ZWrite Off" +
  "  ColorMask A" +
  "  SetTexture [_Dummy] {" +
  "  constantColor(0,0,0,[_Alpha]) combine constant }" +
  "  }" +
  "}" +
  "}"
);

What LeonH said - creating materials with a shader reference will work just fine. Creating them with “raw shader source text” will not.

(if you want a too-long story on why, what and where, see this Optimizing Unity Renderer Part 3: Fixed Function Removal · Aras' website)

Ok, thanks. I think I create a shader in one spot too, but that should be no big deal to change probably. That material thing had me worried because I do it everywhere…