# SetIcon(Texture2D)

> Sets a custom icon to associate with the imported MonoScript.

## Definition

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

```csharp
public void SetIcon(Texture2D icon)
```

### Parameters

**** (\[Texture2D]\(/engine/6000.7/script-reference/unityengine/texture2d)): The custom icon to associate with the imported [MonoScript](/engine/6000.7/script-reference/unityeditor/monoscript.md). When the value is null, Unity restores the default icon.

### Remarks

MonoScripts can have an associated custom icon. This icon is used in the Scene view, the Inspector, and the Project window.

Additional Resources: [MonoImporter.GetIcon](/engine/6000.7/script-reference/unityeditor/monoimporter/geticon.md), [PluginImporter.SetIcon](/engine/6000.7/script-reference/unityeditor/pluginimporter/seticon.md), [EditorGUIUtility.SetIconForObject](/engine/6000.7/script-reference/unityeditor/editorguiutility/seticonforobject.md).

### Examples

```csharp
using UnityEngine;
using UnityEditor;

public class Example
{
    [MenuItem("Examples/Set Custom Icon on MonoScript")]
    static void SetCustomIconOnMonoScript()
    {
        var monoImporter = AssetImporter.GetAtPath("Assets/MyMonoBehaviour.cs") as MonoImporter;
        var icon = AssetDatabase.LoadAssetAtPath<Texture2D>("Assets/MyIcon.png");

        monoImporter.SetIcon(icon);
        monoImporter.SaveAndReimport();
    }
}
```
