Why are my model's textures not importing?

When I import my 3D file it is just grey - where are my textures?

1 Answer

1

The textures for your model have to be in your Unity project for Unity to apply them automatically when you import.

There are 3 different ways to make sure this happens

1 Use Textures for your 3D model from a extures directory already in your Unity project

2 Embed them in the FBX

3 Copy the textures into your project before you import your model

Each has different advantages for your workflow;

1 Textured models in FBX and other 3D formats have been designed to ‘Source’ or ‘Path’ textures from wherever they are already stored, so that when you open a Max file for example, it refers to the texture in your library and when you update the texture in (your source file) you do not have to update or embed all your 3D files with the new texture. If you create your textures in your Unity project to start with and source them from a \ extures directory nested under Models for example, Unity should always create materials and pick up the textures correctly at import

\Assets\Models\Textures\

\Assets\Models\

2 textures are not embedded in FBX files by default as this can create huge files, generally this is an option of the exporter. In the FBX plugin for major 3D packages you have to check an option for embedding the textures. For example in the FBX 2012/13/14 exporter dialogue for Maya and Max > Include > Embed Media > Embed Media tick box.

3 If you are using 3D software packages that might not have newer FBX plugins or are importing native files you generally do not have the option to embed media, so you will need to copy the textures into a directory inside your project called textures - nested next to the model before you import it e.g.

\Projectx\Assets\Models\Textures\ModelTexture.tga

\Projectx\Assets\Models\Model.fbx

As per outlined in our documentation: Unity - Manual: Model file formats