You can use this tab to change how Unity deals with Materials and Textures when importing your model.
When Unity imports a Model without any Material assigned, it uses the Unity diffuse Material. If the Model has Materials, Unity imports them as sub-Assets. You can extract Embedded Textures into your Project using the Extract Textures button.
Property | Function | |
---|---|---|
Import Materials | Enable the rest of the settings for importing Materials. | |
Location | Define how to access the Materials and Textures. Different properties are available depending on which of these options you choose. | |
Use Embedded Materials | Choose this option to keep the imported Materials inside the imported Asset. This is the default option from Unity 2017.2 onwards. | |
Use External Materials (Legacy) | Choose this option to extract imported Materials as external Assets. This is a Legacy way of handling Materials, and is intended for projects created with 2017.1 or previous versions of Unity. |
When you choose Use Embedded Materials for the Location option, the following import options appear:
Property | Function | |
---|---|---|
Textures | Click the Extract Textures button to extract Textures that are embedded in your imported Asset. This is greyed out if there are no Textures to extract. | |
Materials | Click the Extract Materials button to extract Materials that are embedded in your imported Asset. This is greyed out if there are no materials to extract. | |
Remapped Materials | ||
On Demand Remap | These settings match the settings that appear in the inspector if you set the Location to Use External Materials (Legacy). | |
Naming | Define how Unity names the Materials. | |
By Base Texture Name | Use the name of the diffuse Texture of the imported Material to name the Material. When a diffuse Texture is not assigned to the Material, Unity uses the name of the imported Material. | |
From Model’s Material | Use the name of the imported Material to name the Material. | |
Model Name + Model’s Material | Use the name of the model file in combination with the name of the imported Material to name the Material. | |
Search | Define where Unity tries to locate existing Materials using the name defined by the Naming option. | |
Local Materials Folder | Find existing Materials in the “local” Materials folder only (that is, the Materials subfolder, which is the same folder as the model file). | |
Recursive-Up | Find existing Materials in all Materials subfolders in all parent folders up to the Assets folder. | |
Project-Wide | Find existing Materials in all Unity project folders. | |
Search and Remap | Click this button to remap your imported Materials to existing Material Assets, using the same settings as the Legacy import option. Clicking this button does not extract the Materials from the Asset, and does not change anything if Unity cannot find any materials with the correct name. | |
List of imported materials | This list displays all imported Materials found in the Asset. You can remap each material to an existing Material Asset in your Project. |
If you want to modify the properties of the Materials in Unity, you can extract them all at once using the Extract Materials button. If you want to extract them one by one, go to Assets > Extract From Prefab. When you extract Materials this way, they appear as references in the Remapped Materials list.
New imports or changes to the original Asset do not affect extracted Materials. If you want to re-import the Materials from the source Asset, you need to remove the references to the extracted Materials in the Remapped Materials list. To remove an item from the list, select it and press the Backspace key on your keyboard.
When you choose Use External Materials (Legacy) for the Location option, the following import options appear:
Property | Function | |
---|---|---|
Naming | Define how Unity names the Materials. | |
By Base Texture Name | Use the name of the diffuse Texture of the imported Material to name the Material. When a diffuse Texture is not assigned to the Material, Unity uses the name of the imported Material. | |
From Model’s Material | Use the name of the imported Material to name the Material. | |
Model Name + Model’s Material | Use the name of the model file in combination with the name of the imported Material to name the Material. | |
Search | Define where Unity tries to locate existing Materials using the name defined by the Naming option. | |
Local Materials Folder | Find existing Materials in the “local” Materials folder only (that is, the Materials subfolder, which is the same folder as the model file). | |
Recursive-Up | Find existing Materials in all Materials subfolders in all parent folders up to the Assets folder. | |
Project-Wide | Find existing Materials in all Unity project folders. |
Before Unity version 2017.2, this was the default way of handling Materials.