Inspector Gadgets v6

Inspector Gadgets v6.4

  • Released 2020-09-29
  • Changed the default EditorState to Playing instead of Always since it is usually used by Inspectables which show non-serialized data and likely aren't very useful in Edit Mode.
  • Removed BlendShapeViewer since the SkinnedMeshRenderer Inspector now uses sliders for Blend Shape weights anyway.
  • Fixed the Transform Inspector fields to display correctly when using a different font.

Inspector Gadgets v6.3

  • Released 2020-09-15
  • Fixed build error caused by CommentAsset and CommentComponent.
  • Fixed Drag & Drop Sub-Assets to not allow certain asset types that won't work (since Unity is dumb and would just corrupt the asset instead of telling you) and to ask if it isn't sure about a particular type.
  • Fixed GetDefaultFileExtension to not throw an exception.

Inspector Gadgets v6.2

  • Released 2020-09-10
  • The Minimum Unity Version is now 2018.4 and it requires the .NET 4.x scripting runtime (the default for all new projects).
  • Fields in the Transform Inspector now use a smaller font size while displaying scientific notation (this can be disabled via the Edit/Preferences -> Inspector Gadgets -> Shrink Scientific Fields).
  • Added Drag & Drop Sub-Assets system.
  • Improved Object Reference Fields:
    • If you drag and drop a GameObject with multiple valid components into a Component field, it will now display a context menu so you can select which one to assign.
    • You can now drag and drop out of Object fields (Unity only lets you drop references in by default).
    • Replaced the H/S/A buttons with a single Get button that uses IGUtils.ProgressiveSearch to find a reference. The individual methods can still be accessed via the context menu.
    • The context menu now displays the file path of the referenced asset or relative path to the referenced Component.
    • Added a Pick Component from List context menu function.
    • Excluded RuntimeAnimatorController from nested object drawers.
  • Added Transform/Remove All Components context menu function.
  • Added Randomize 0-CurrentValue context menu function for float fields.
  • Added public API for adding objects and properties to the WatcherWindow.
  • Changed the default keyboard shortcuts for Reset Selected Transforms and Snap to Grid to use Alt instead of Shift.
  • Changed IGUtils.ProgressiveSearch to include inactive objects.
  • Changed Preferences to use the new SettingsProvider class introduced in Unity 2018.3.
  • Changed ScriptableObjectEditor to display its message about changes being undone when exiting Play Mode as a warning rather than info and only in Play Mode.
  • Reorganised SerializedPropertyAccessor and related utilities into the Serialization namespace and improved their reliability.
  • Fixed AutoHideUI to un-hide the UI layer if Inspector Gadgets is deleted.
  • Fixed some minor issues with the Transform Inspector layout in Unity 2019.3+.
  • Fixed the World Scale display to not flicker between 1 and 0.9999999 while rotating an object.
  • Fixed rotation snap button to properly update the displayed euler angles.
  • Fixed TransformPropertyDrawer mini buttons to apply to their corresponding property instead of the previously drawn one.
  • Fixed TransformPropertyDrawer to use the correct menu function path for the Snap Settings in Unity 2019.3+.
  • Fixed WatcherWindow to use the ViewToolOrbit icon in Unity 2019.3+ (since UnityEditor.LookDevView no longer exists).
  • Fixed ObjectDrawer to always reset the font style after using italics for self-references.
  • Fixed NullReferenceException in CommentEditor.

Inspector Gadgets v6.1

  • Released 2019-07-08
  • Fixed Transform Inspector mini buttons to be linked to the correct properties.
  • Fixed ObjectDrawer [H] button to be drawn in the correct location.

Inspector Gadgets v6.0

  • Released 2019-07-02.

Major Features

  • Inspector Gadgets Pro is now delivered as regular scripts instead of a pre-compiled DLL to make it easier to view and modify the source code. Also reorganized the namespaces.

Warning: when upgrading from an earlier version you must delete the old version before importing the new one. This will also cause any Inspector Gadgets components (such as CommentComponent) in your project to go missing so you will need to set them all up again. This is an unfortunate side effect of the way Unity handles references to scripts inside a DLL compared to regular script files.

  • Added Persist After Play Mode context menu function to all serialized properties.
  • Added [OnOpenAsset] functions which are triggered when you hold certain modifier keys and Double Click on an asset in the Project window:
    • Alt + Double Click on a prefab to Instantiate it in the scene.
    • If you hold Ctrl as well it will also focus the camera on the instance.
    • Ctrl + Shift + Alt + Double Click any asset to open its folder in your OS file explorer.
  • Added context menu handler for AnimationCurve properties with several functions: Smooth Tangents, Flip Horizontal, Flip Vertical, Enforce Horizontal Symmetry, Extend Mirrorred.

Minor Features

  • Added AutoHideUI.ToggleEnabled context menu function for RectTransform, Canvas, and UIBehaviour components.
  • Added preferences to modify the Transform Inspector field colors.
  • Added Assets/Create/Shortcut function to create an asset which creates a quick link to another folder in the project similar to a Windows Shortcut. Simply assign a Target in the Inspector then you can double click the asset to go to the Target.
  • Added BlendShapeViewer - Whenever you select a SkinnedMeshRenderer which has any Blend Shapes it will automatically add a BlendShapeViewer component to display them as user-friendly sliders. That Component will be automatically removed when you deselect the object and will not be saved in the scene.
  • Added StaticLazyStack from BeTweeny.
  • Added CommentAsset and renamed Comment to CommentComponent.
  • Added IGUtils.DoInspectableGUI so custom Inspectors that don't inherit from InspectorGadgets.Editor<T> can still use inspectable attributes (for OdinInspector compatability).
  • Added AutoPref<T>.OnValueChanged callback.
  • Added IGUtils.CollapseAllComponents context menu function on Transforms to collapse or expand all components at once.
  • Added MethodCache for easily retrieving methods with a specific signature from any provided object.
  • Added an OverridePropertyGUI event for altering the GUI of specific properties.
  • Added OnPropertyContextMenu event for adding extra functions to the context menu of a property.
  • Added a context menu function to ScriptyHunterWindow to destroy all missing scripts.


  • Improved the layout of WatcherWindow and added the ability to watch entire objects as well as individual fields.
  • IGEditorUtils.FindAssetOfType can now find Components on the root of a prefab instead of never finding anything for them.
  • Added an optional background to the Scene view distance moved labels so they are easier to read.
  • Scene view distance moved labels now show the distance on each individual axis as well (with an option to disable).
  • Added string parameter constructor to the [Color] attribute so you can either use standard colours from the UnityEngine.Color class such as "red" or colors from your own static fields and properties in the form "TypeName.StaticProperty".
  • Added a message to ScriptableObjectEditor explaining that changes in play mode will persist.
  • Added the IGUtils.GetSerializedPropertyContext to support copy and paste on serialized properties with Ctrl + C and Ctrl + V.
  • Added SerializedObjectReference for serializing references to Objects alongside their Instance ID in case the direct reference is lost when entering or exiting Play Mode.
    • SerializedPropertyReference now uses SerializedObjectReferences, which fixes the PropertyWatcherWindow so it doesn't lose its references when changing modes.
  • IGEditorUtils.ForEachTarget will now always record an Undo.
  • The Transform Inspector paste button tooltip will now be updated in response to changes in the system copy buffer.
  • ScriptyHunterWindow can now find and destroy non-prefab assets.
  • Changed Validator Attributes to use longs and doubles instead of ints and floats.


  • Dropped support for Unity 5.6.
  • Changed New Locked Inspector keyboard shortcut to Ctrl + Alt + I.
  • Changed the Auto Hide UI show condition to check for any non-world-space Canvas on the object or a parent instead of looking for UIBehaviours in parents and children.
  • The Show Position Labels setting is now disabled by default. Feedback indicates that they aren't particularly useful, but the option is still there.
  • Flipped true/false order on the label array in the Toolbar attribute constructor to be consistent with boolean logic. Label 0 is now false and 1 is true.
  • Changing any AutoPref will now repaint all GUI views.
  • The Nested Object Drawer now excludes AudioClips since it doesn't work for them.
  • Moved most string constants into Constants.
  • Removed the SetHideFlags script because you can just set the EditorOnly tag to achieve the same thing.
  • Removed MonoBehaviour/Find References menu items because they weren't really that useful.
  • Removed editor event attributes [OnWillUnloadAssemblies] and [OnEditorQuit] as Unity already has events for them: AssemblyReloadEvents.beforeAssemblyReload and EditorApplication.quitting respectively.
  • The Watch and Persist After Play Mode commands now work properly when multiple objects are selected.


  • Fixed errors in Unity 2018.3+ caused by the obfuscation in the Lite DLLs. They were harmless and didn't actually stop anything from working, they were simply annoying.
  • Fixed undoing a script type change to not cause GUI errors.
  • Fixed TransformEditor layout when drawn outside the Inspector (such as in the WatcherWindow and nested object drawers).
  • Fixed [Inspectable] attribute to catch exceptions while drawing.
  • Fixed TransformEditor.HandleOffset to get a field instead of a property (as changed in Unity 2017.1).
  • Fixed incorrect constructor parameters in AutoPrefs.EditorVector2.
  • ScriptyHunterEditor can now destroy sub assets properly.