This applies to Blender version 2.79b (not sure if it applies to other versions).
While trying to find the proper way to import .mtl files from Blender into Unity I kept running across the problem that no color was being transferred. I’ve also seen many others complaining that they were getting no color … Took a while to find the information, but I finally ran across the file definition for an MTL file (http://www.fileformat.info/format/material).
Based on what I’m reading and what I’m seeing in the MTL file created by Blender when exporting a Wavefront (.obj) file, Blender is only providing a minimal MTL file and every single material is described in the file as “gray”. In other words, no color is being recorded in the MTL, so no color is being imported into Unity.
Example MTL as produced by Blender:
<code>
# Blender MTL File: ‘import_demo.blend’
# Material Count: 1
newmtl external_PNG
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
</code>
The positive side of this is that the color locations are at least being recorded so that when you redefine the materials from inside Unity, they are at least applied to the correct locations on the model.
The best workaround that I’ve come up with is to use a texture file as a material, extract the material from the model prefab, and then manually drag and drop the texture file into the Albedo texture slot on the material properties.
I have created a bug report with the Blender developers and am awaiting their response. It’s possible that this is exactly what they intended but I will wait for a definitive answer from the developers.
I went ahead and posted a video to YouTube to explain how to implement a workaround: https://www.youtube.com/watch?v=d_BV6VnCdk8