Inspector Gadgets v6.9
- Released 2021-10-31
- Added Selection History window.
- Fixed the rotation copy button in the
Transform
Inspector. - General code cleanup.
Inspector Gadgets v6.8
- Released 2021-10-16
- The "Override Transform Gizmos" feature can now be disabled in Inspector Gadgets Lite.
- Added
OnInspectorGUI
method support to the[Inspectable]
attribute so objects can implement that method to handle their own GUI. - Added
Ping Object
context menu function toTransform
components. - Changed
BaseInspectableAttribute.PrefixLabel
to return the area of the following control. - Fixed
IGUtils.GetDerivedTypes
to not include the base type twice. - Fixed the
Destroy
Context Menu Function on Object Reference fields to not throw an exception when the referenced object isnull
. - Fixed Persist in Play Mode to work on
Transform
components. - Fixed Drag and Drop out of Object fields to not be started incorrectly if you pass over the field while dragging something else (such as a slider).
Inspector Gadgets v6.7
- Released 2021-07-31
- Dropped support for Unity 2018. Tested versions are now 2019.4 (LTS), 2020.3 (LTS), and 2021.1 (Latest Stable). Inspector Gadgets v6.6 is still available for Unity 2018.4 though.
DragAndDropSubAssets
now allows sub-assets to be extracted by dropping them on their root asset instead of needing to target a folder.- Added Context Menu Functions to set the type of a
[SerializeReference]
field. - Added
[Layer]
attribute for drawingint
fields as a dropdown menu to select a layer. - Added
IGUtils.DefaultEditorState
which can be set in the Edit/Preferences window. Inspectable attributes will now use that value unless specified otherwise in their constructor. - Improved the
Paste
Context Menu Function to trim prefixes and suffixes from the numbers. - Optimized
Editor
to not causeOnValidate
andISerializationCallbackReceiver.OnAfterDeserialize
to be called continuously on all components shown in the Inspector (even though Unity's default Inspector does that). - Changed usage of
SelectionMode.OnlyUserModifiable
toEditable
since the former is obsolete (and the latter is identical). - Changed
ManagedReferenceHandler
to useIGUtils.GetDerivedTypes
instead of implementing the search itself. - Fixed the way Unity 2020+ generates C# project files using
FixProjectDefinition
to prevent it from referencing the Runtime-Only Lite DLLs. - Fixed
IGUtils.GetDerivedTypes
to support interfaces. - Fixed
MissingScriptEditor.DestroyProperly
to support multi-object selection. - Fixed the
Transform
Copy button to copy the displayed value instead of the local value. - Replaced the ReadMe.pdf with a text file since it didn't have any real detail anyway. This gives an 86% reduction in the package size of Inspector Gadgets Pro.
Serialization
- Added support for inheritance in
[SerializeReference]
fields.- Changed
Serialization.PropertyAccessor.FieldType
to be private and accessible viaGetFieldElementType
. - Changed
Serialization.PropertyAccessor.Field
to be private and accessible viaGetField
. - Fixed
Serialization.PropertyAccessor.ResetValue
to run the constructor of the field's current type so that it can reset[SerializeReference]
fields to the defaults of the current type instead ofnull
.
- Changed
- Fixed
SerializedPropertyContextMenu.GenericHandler
to work properly for array fields.
Inspector Gadgets v6.6
- Released 2021-04-16
- Added
Reset
Context Menu Function for all fields to reset their value to the default of their type. - Added
IGEditorUtils.OnSceneGUI
for registering delegates to draw in the Scene GUI and automatically de-registering them when appropriate. - Added #ifs to allow certain Unity Modules to be disabled.
- Changed default
EditorState
back toAlways
(reverting the change from Inspector Gadgets v6.4). - Fixed the code obfuscation used in the Inspector Gadgets Lite DLLs to prevent them from causing errors in IL2CPP builds.
- Fixed
ObjectDrawer
to properly disable nesting when appropriate. - Fixed
ObjectDrawer
label to be correctly indented whenEditorGUIUtility.hierarchyMode
is false. - Fixed potential
NullReferenceException
inWatcherWindow
after leaving Play Mode. - Fixed potential error when parsing clipboard text to find an object to paste into an object reference field.
- Fixed
SerializedPropertyContextMenu
to disable all functions that modify the property when the GUI is disabled. - Fixed
[Readonly]
fields to show the property context menu when Right Clicked.
Inspector Gadgets v6.5
- Released 2020-11-04
- Improved the copy/paste system used by
SerializedPropertyContextMenu
so that it now works on all field types without needing individual implementations for each of them.Object
fields can now paste a value from the system clipboard by finding an object with that name.
- Grouped context menu functions into sub-menus (
Set
,Randomize
,Convert
). - Fixed
PositionDrawer.DrawTool
to not throw anAmbiguousMatchException
in Unity 2020.2.
Inspector Gadgets v6.4
- Released 2020-09-29
- Changed the default
EditorState
toPlaying
instead ofAlways
since it is usually used by Inspectables which show non-serialized data and likely aren't very useful in Edit Mode. - Removed
BlendShapeViewer
since theSkinnedMeshRenderer
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
andCommentComponent
. - 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 window. - Added Drag & Drop Sub-Assets system.
- Improved Object Reference Fields:
- If you drag and drop a
GameObject
with multiple valid components into aComponent
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.
- If you drag and drop a
- Added
Transform/Remove All Components
context menu function. - Added
Randomize 0-CurrentValue
context menu function forfloat
fields. - Added public API for adding objects and properties to the
WatcherWindow
. - Changed the default keyboard shortcuts for
Reset Selected Transforms
andSnap to Grid
to useAlt
instead ofShift
. - Changed
IGUtils.ProgressiveSearch
to include inactive objects. - Changed
Preferences
to use the newSettingsProvider
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 theSerialization
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 theViewToolOrbit
icon in Unity 2019.3+ (sinceUnityEditor.LookDevView
no longer exists). - Fixed
ObjectDrawer
to always reset the font style after using italics for self-references. - Fixed
NullReferenceException
inCommentEditor
.
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 toInstantiate
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 forRectTransform
,Canvas
, andUIBehaviour
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 aTarget
in the Inspector then you can double click the asset to go to theTarget
. - Added
BlendShapeViewer
- Whenever you select aSkinnedMeshRenderer
which has any Blend Shapes it will automatically add aBlendShapeViewer
component to display them as user-friendly sliders. ThatComponent
will be automatically removed when you deselect the object and will not be saved in the scene. - Added
StaticLazyStack
fromBeTweeny
. - Added
CommentAsset
and renamedComment
toCommentComponent
. - Added
IGUtils.DoInspectableGUI
so custom Inspectors that don't inherit fromInspectorGadgets.Editor<T>
can still use inspectable attributes (for OdinInspector compatability). - Added
AutoPref<T>.OnValueChanged
callback. - Added
IGUtils.CollapseAllComponents
context menu function onTransforms
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.
Improvements
- Improved the layout of
WatcherWindow
and added the ability to watch entire objects as well as individual fields. IGEditorUtils.FindAssetOfType
can now findComponent
s 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 theUnityEngine.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 withCtrl + C
andCtrl + V
. - Added
SerializedObjectReference
for serializing references toObject
s alongside their Instance ID in case the direct reference is lost when entering or exiting Play Mode.SerializedPropertyReference
now usesSerializedObjectReference
s, which fixes thePropertyWatcherWindow
so it doesn't lose its references when changing modes.
IGEditorUtils.ForEachTarget
will now always record anUndo
.- 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 uselong
s anddouble
s instead ofint
s andfloat
s.
Changes
- Dropped support for Unity 5.6.
- Changed
New Locked Inspector
keyboard shortcut toCtrl + Alt + I
. - Changed the
Auto Hide UI
show condition to check for any non-world-spaceCanvas
on the object or a parent instead of looking forUIBehaviour
s 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 theToolbar
attribute constructor to be consistent with boolean logic. Label0
is nowfalse
and1
istrue
. - Changing any
AutoPref
will now repaint all GUI views. - The Nested Object Drawer now excludes
AudioClip
s since it doesn't work for them. - Moved most string constants into
Constants
. - Removed the
SetHideFlags
script because you can just set theEditorOnly
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
andEditorApplication.quitting
respectively. - The
Watch
andPersist After Play Mode
commands now work properly when multiple objects are selected.
Fixes
- 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 theWatcherWindow
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.