Inspector Gadgets v6.9
- Released 2021-10-31
- Added Selection History window.
- Fixed the rotation copy button in the
TransformInspector. - 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
OnInspectorGUImethod support to the[Inspectable]attribute so objects can implement that method to handle their own GUI. - Added
Ping Objectcontext menu function toTransformcomponents. - Changed
BaseInspectableAttribute.PrefixLabelto return the area of the following control. - Fixed
IGUtils.GetDerivedTypesto not include the base type twice. - Fixed the
DestroyContext Menu Function on Object Reference fields to not throw an exception when the referenced object isnull. - Fixed Persist in Play Mode to work on
Transformcomponents. - 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.
DragAndDropSubAssetsnow 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 drawingintfields as a dropdown menu to select a layer. - Added
IGUtils.DefaultEditorStatewhich can be set in the Edit/Preferences window. Inspectable attributes will now use that value unless specified otherwise in their constructor. - Improved the
PasteContext Menu Function to trim prefixes and suffixes from the numbers. - Optimized
Editorto not causeOnValidateandISerializationCallbackReceiver.OnAfterDeserializeto be called continuously on all components shown in the Inspector (even though Unity's default Inspector does that). - Changed usage of
SelectionMode.OnlyUserModifiabletoEditablesince the former is obsolete (and the latter is identical). - Changed
ManagedReferenceHandlerto useIGUtils.GetDerivedTypesinstead of implementing the search itself. - Fixed the way Unity 2020+ generates C# project files using
FixProjectDefinitionto prevent it from referencing the Runtime-Only Lite DLLs. - Fixed
IGUtils.GetDerivedTypesto support interfaces. - Fixed
MissingScriptEditor.DestroyProperlyto support multi-object selection. - Fixed the
TransformCopy 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.FieldTypeto be private and accessible viaGetFieldElementType. - Changed
Serialization.PropertyAccessor.Fieldto be private and accessible viaGetField. - Fixed
Serialization.PropertyAccessor.ResetValueto 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.GenericHandlerto work properly for array fields.
Inspector Gadgets v6.6
- Released 2021-04-16
- Added
ResetContext Menu Function for all fields to reset their value to the default of their type. - Added
IGEditorUtils.OnSceneGUIfor 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
EditorStateback 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
ObjectDrawerto properly disable nesting when appropriate. - Fixed
ObjectDrawerlabel to be correctly indented whenEditorGUIUtility.hierarchyModeis false. - Fixed potential
NullReferenceExceptioninWatcherWindowafter leaving Play Mode. - Fixed potential error when parsing clipboard text to find an object to paste into an object reference field.
- Fixed
SerializedPropertyContextMenuto 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
SerializedPropertyContextMenuso that it now works on all field types without needing individual implementations for each of them.Objectfields 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.DrawToolto not throw anAmbiguousMatchExceptionin Unity 2020.2.
Inspector Gadgets v6.4
- Released 2020-09-29
- Changed the default
EditorStatetoPlayinginstead ofAlwayssince it is usually used by Inspectables which show non-serialized data and likely aren't very useful in Edit Mode. - Removed
BlendShapeViewersince theSkinnedMeshRendererInspector now uses sliders for Blend Shape weights anyway. - Fixed the
TransformInspector fields to display correctly when using a different font.
Inspector Gadgets v6.3
- Released 2020-09-15
- Fixed build error caused by
CommentAssetandCommentComponent. - 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
GetDefaultFileExtensionto 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
TransformInspector 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
GameObjectwith multiple valid components into aComponentfield, it will now display a context menu so you can select which one to assign. - You can now drag and drop out of
Objectfields (Unity only lets you drop references in by default). - Replaced the H/S/A buttons with a single Get button that uses
IGUtils.ProgressiveSearchto 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
RuntimeAnimatorControllerfrom nested object drawers.
- If you drag and drop a
- Added
Transform/Remove All Componentscontext menu function. - Added
Randomize 0-CurrentValuecontext menu function forfloatfields. - Added public API for adding objects and properties to the
WatcherWindow. - Changed the default keyboard shortcuts for
Reset Selected TransformsandSnap to Gridto useAltinstead ofShift. - Changed
IGUtils.ProgressiveSearchto include inactive objects. - Changed
Preferencesto use the newSettingsProviderclass introduced in Unity 2018.3. - Changed
ScriptableObjectEditorto display its message about changes being undone when exiting Play Mode as a warning rather than info and only in Play Mode. - Reorganised
SerializedPropertyAccessorand related utilities into theSerializationnamespace and improved their reliability. - Fixed
AutoHideUIto un-hide the UI layer if Inspector Gadgets is deleted. - Fixed some minor issues with the
TransformInspector 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
TransformPropertyDrawermini buttons to apply to their corresponding property instead of the previously drawn one. - Fixed
TransformPropertyDrawerto use the correct menu function path for the Snap Settings in Unity 2019.3+. - Fixed
WatcherWindowto use theViewToolOrbiticon in Unity 2019.3+ (sinceUnityEditor.LookDevViewno longer exists). - Fixed
ObjectDrawerto always reset the font style after using italics for self-references. - Fixed
NullReferenceExceptioninCommentEditor.
Inspector Gadgets v6.1
- Released 2019-07-08
- Fixed
TransformInspector 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 Clickon a prefab toInstantiateit in the scene.- If you hold
Ctrlas well it will also focus the camera on the instance. Ctrl + Shift + Alt + Double Clickany asset to open its folder in your OS file explorer.
- Added context menu handler for
AnimationCurveproperties with several functions:Smooth Tangents,Flip Horizontal,Flip Vertical,Enforce Horizontal Symmetry,Extend Mirrorred.
Minor Features
- Added
AutoHideUI.ToggleEnabledcontext menu function forRectTransform,Canvas, andUIBehaviourcomponents. - Added preferences to modify the
TransformInspector field colors. - Added
Assets/Create/Shortcutfunction to create an asset which creates a quick link to another folder in the project similar to a Windows Shortcut. Simply assign aTargetin the Inspector then you can double click the asset to go to theTarget. - Added
BlendShapeViewer- Whenever you select aSkinnedMeshRendererwhich has any Blend Shapes it will automatically add aBlendShapeViewercomponent to display them as user-friendly sliders. ThatComponentwill be automatically removed when you deselect the object and will not be saved in the scene. - Added
StaticLazyStackfromBeTweeny. - Added
CommentAssetand renamedCommenttoCommentComponent. - Added
IGUtils.DoInspectableGUIso custom Inspectors that don't inherit fromInspectorGadgets.Editor<T>can still use inspectable attributes (for OdinInspector compatability). - Added
AutoPref<T>.OnValueChangedcallback. - Added
IGUtils.CollapseAllComponentscontext menu function onTransformsto collapse or expand all components at once. - Added
MethodCachefor easily retrieving methods with a specific signature from any provided object. - Added an
OverridePropertyGUIevent for altering the GUI of specific properties. - Added
OnPropertyContextMenuevent for adding extra functions to the context menu of a property. - Added a context menu function to
ScriptyHunterWindowto destroy all missing scripts.
Improvements
- Improved the layout of
WatcherWindowand added the ability to watch entire objects as well as individual fields. IGEditorUtils.FindAssetOfTypecan now findComponents 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
stringparameter constructor to the[Color]attribute so you can either use standard colours from theUnityEngine.Colorclass such as"red"or colors from your own static fields and properties in the form"TypeName.StaticProperty". - Added a message to
ScriptableObjectEditorexplaining that changes in play mode will persist. - Added the
IGUtils.GetSerializedPropertyContextto support copy and paste on serialized properties withCtrl + CandCtrl + V. - Added
SerializedObjectReferencefor serializing references toObjects alongside their Instance ID in case the direct reference is lost when entering or exiting Play Mode.SerializedPropertyReferencenow usesSerializedObjectReferences, which fixes thePropertyWatcherWindowso it doesn't lose its references when changing modes.
IGEditorUtils.ForEachTargetwill now always record anUndo.- The
TransformInspector paste button tooltip will now be updated in response to changes in the system copy buffer. ScriptyHunterWindowcan now find and destroy non-prefab assets.- Changed
Validator Attributesto uselongs anddoubles instead ofints andfloats.
Changes
- Dropped support for Unity 5.6.
- Changed
New Locked Inspectorkeyboard shortcut toCtrl + Alt + I. - Changed the
Auto Hide UIshow condition to check for any non-world-spaceCanvason the object or a parent instead of looking forUIBehaviours in parents and children. - The
Show Position Labelssetting is now disabled by default. Feedback indicates that they aren't particularly useful, but the option is still there. - Flipped
true/falseorder on the label array in theToolbarattribute constructor to be consistent with boolean logic. Label0is nowfalseand1istrue. - Changing any
AutoPrefwill 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
SetHideFlagsscript because you can just set theEditorOnlytag to achieve the same thing. - Removed
MonoBehaviour/Find Referencesmenu items because they weren't really that useful. - Removed editor event attributes
[OnWillUnloadAssemblies]and[OnEditorQuit]as Unity already has events for them:AssemblyReloadEvents.beforeAssemblyReloadandEditorApplication.quittingrespectively. - The
WatchandPersist After Play Modecommands 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
TransformEditorlayout when drawn outside the Inspector (such as in theWatcherWindowand nested object drawers). - Fixed
[Inspectable]attribute to catch exceptions while drawing. - Fixed
TransformEditor.HandleOffsetto get a field instead of a property (as changed in Unity 2017.1). - Fixed incorrect constructor parameters in
AutoPrefs.EditorVector2. ScriptyHunterEditorcan now destroy sub assets properly.