# OnAssignMaterialModel(Material, Renderer)

> Override to choose which Material asset is assigned to an imported model renderer.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor](/engine/6000.7/script-reference/unityeditor.md)

## OnAssignMaterialModel()

```csharp
public void OnAssignMaterialModel(Material material, Renderer renderer)
```

### Parameters

**** (\[Material]\(/engine/6000.7/script-reference/unityengine/material)): **** (\[Renderer]\(/engine/6000.7/script-reference/unityengine/renderer)):&#x20;

### Remarks

If `null` is returned, the default material assignment for the model is run. The returned material must be an asset. Non-persistent Materials are rejected with an import error.

### Examples

```csharp

using UnityEngine;
using UnityEditor;

public class AssignSharedModelMaterial : AssetPostprocessor
{
    public Material OnAssignMaterialModel(Material material, Renderer renderer)
    {
        // Use default assignment for this model.
        // return null;

        // Assign an existing Material asset from the project (persistent).
        return AssetDatabase.LoadAssetAtPath<Material>("Assets/Materials/MyShared.mat");
    }
}
```
