# SetIcon(string, Texture2D)

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

## Definition

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

```csharp
public void SetIcon(string className, Texture2D icon)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The fully qualified class name of a [MonoScript](/engine/6000.7/script-reference/unityeditor/monoscript.md) imported by this managed plugin.**** (\[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

Each [MonoScript](/engine/6000.7/script-reference/unityeditor/monoscript.md) imported by managed plugins can have an associated custom icon. This icon is used in the Scene view, the Inspector, and the Project window. To remove a [MonoScript](/engine/6000.7/script-reference/unityeditor/monoscript.md)'s associated custom icon, pass null to this method.

Additional Resources: [MonoScript.GetClass](/engine/6000.7/script-reference/unityeditor/monoscript/getclass.md), FullName, [PluginImporter.GetIcon](/engine/6000.7/script-reference/unityeditor/pluginimporter/geticon.md), [MonoImporter.SetIcon](/engine/6000.7/script-reference/unityeditor/monoimporter/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 Managed Plugin MonoScript")]
    static void SetCustomIconOnManagedPluginMonoScript()
    {
        var dllPath = "Assets/MyManagedPlugin.dll";
        var iconPath = "Assets/MyIcon.png";
        var pluginImporter = AssetImporter.GetAtPath(dllPath) as PluginImporter;
        var monoScript = AssetDatabase.LoadAssetAtPath<MonoScript>(dllPath);
        var icon = AssetDatabase.LoadAssetAtPath<Texture2D>(iconPath);

        pluginImporter.SetIcon(monoScript.GetClass().FullName, icon);
        pluginImporter.SaveAndReimport();
    }
}
```
