DrawGUI.Icon.Unity
Static icon accessor that provides ~28 built-in Unity Editor textures as readonly fields. Icons are loaded once at class initialization via EditorGUIUtility.FindTexture (by internal name) or EditorGUIUtility.IconContent (by icon content key). No caching layer — Unity manages the underlying textures.
Definition
Namespace: Paragon.Editor
Assembly: Editor assembly
public static partial class DrawGUI
{
public static partial class Icon
{
public static class UnityNesting: DrawGUI → Icon → Unity
Quick Lookup
Get a Unity icon
DrawGUI.Icon.Unity.Brush
Get a ScriptableObject icon
DrawGUI.Icon.Unity.ScriptableObject
Fields
All fields are public static readonly and loaded at static initialization.
Texture2D Fields (via FindTexture)
Brush
Grid.PaintTool
Paint/brush tool
Eraser
Grid.EraserTool
Eraser tool
Quad
PreMatQuad
Material preview quad
Camera
SceneViewCamera
Scene view camera
Lock
InspectorLock
Inspector lock toggle
Folder
Project
Project folder
Search
Search Icon
Search magnifying glass
Script
cs Script Icon
C# script file
Add
Toolbar Plus
Toolbar add/plus button
Back
back
Back navigation arrow
Close
d_winbtn_graph_close_h
Window close button
VisibleOn
animationvisibilitytoggleon
Visibility on (eye open)
VisibleOff
animationvisibilitytoggleoff
Visibility off (eye closed)
Trash
TreeEditor.Trash
Delete/trash can
Play
Animation.Play@2x
Play button (2x resolution)
GameView
UnityEditor.GameView@2x
Game view window (2x)
Import
Import@2x
Import action (2x)
Replay
preAudioAutoPlayOff@2x
Replay/restart action (2x)
Stop
Animation.Record@2x
Record/stop button (2x)
Refresh
Refresh@2x
Refresh action (2x)
Scene
d_Scene
Scene file icon (dark theme)
Options
_Popup
Options/popup menu
Web
d_BuildSettings.Web.Small
Web platform (dark, small)
Texture Fields (via IconContent)
These use EditorGUIUtility.IconContent(name).image and return Texture (base type, not Texture2D):
ScriptableObject
ScriptableObject Icon
ScriptableObject type icon
Warning
Warning
Warning triangle
Loading
Loading
Loading spinner
Preset
Preset.Context
Preset context menu icon
Common Pitfalls
Some fields return Texture, not Texture2D
The IconContent-based fields (ScriptableObject, Warning, Loading, Preset) return Texture because IconContent.image returns the base Texture type. Cast to Texture2D if needed, but note that some may actually be RenderTexture instances.
Internal names may change between Unity versions
The string identifiers passed to FindTexture (e.g., "Grid.PaintTool", "d_winbtn_graph_close_h") are Unity's internal resource names and may change across Unity versions. If an icon is missing after a Unity upgrade, it returns null.
Dark theme prefix
Some icons use the d_ prefix (e.g., d_Scene, d_BuildSettings.Web.Small) which loads the dark theme variant. These may look incorrect on Unity Personal (light theme). Consider using Paragon or SDF icons for theme-adaptive needs.
Readonly fields load at class init
All fields are static readonly, meaning they load the first time the Unity class is accessed. If any FindTexture call returns null (icon not found), the field will be null for the entire session.
Examples
Using Unity icons in custom editor
See Also
Unity Icons README — Subsystem overview
Icons README — Overview of all icon providers
Last updated