My current hack solution is to temporarily create another primitive (plane, cube, whatever) and get the Default-Diffuse material from its sharedMaterial and apply it to my new object.
GameObject primitive = GameObject.CreatePrimitive(PrimitiveType.Plane);
primitive.active = false;
Material diffuse = primitive.GetComponent().sharedMaterial;
DestroyImmediate(primitive);
// ...
go.renderer.sharedMaterial = diffuse;
↧