Odin Inspector Version


  • Added EnumToggleButtons attribute which draws an enum in a horizontal button group instead of a dropdown. Checkout the demo-scene for examples.


  • Fixed a bug where the InlineEditor would remain after object was removed.
  • A wild InspectorWindow no longer appears randomly in the middle of the screen after play mode triggered with "Maximize on Play" active has ended while an Odin-inspector inspected object is selected in invisible editor window..
  • Error message about FormatterLocator type load exceptions is now only triggered when relevant.
  • Odin Inspector preferences window is now called "Odin Preferences" instead of "Sirenix Preferences".
  • MonoScript property is no longer shown in Serialization preferences.
  • Fixed error where members that would be serialized by Odin, did not show up in non-Odin-serialized inspectors when ShowInInspector was applied to the member.
  • Fixed various bugs with copy/pasting values.
  • Serialization now works properly with nullable values.
  • Inspector now works for nullable value types like "Vector3?".
  • Fixed very obscure infinite property child creation loop that would occur in the first ever property update of a dictionary containing values with cyclic references to themselves, due to references not being registered yet at that time. Also added another fix to property tree reference handling in general, so that errors of this particular class can never occur again.
  • Fixed issue where you couldn't add elements to a list created by prefab modifications.
  • Fixed error where dictionary number keys would not be properly parsed from their key strings.
  • Massive amount of fixes to prefab modification system. It should now be far more robust than before.
  • When changing a dictionary key, the key turns red while it is invalid (due to the key already being in the dictionary) and thus ineligible for being changed.
  • References are now handled more robustly with prefab modifications.
  • Fixed case where all null values in for a property in multi-selection faultily resulted in a reference value conflict.
  • Fixed an error where PropertyListValueEntryChanger would not apply changes at the end of the frame causing layout issues and sometimes errors.
  • Odin no longer thinks that Unity will serialize jagged arrays and lists in lists.
  • Expanding a [ToggleGroup] will now collapse adjacent toggle groups. This feature can be disabled in the attribute.
  • Fixed rare issue where out of range exception would be thrown when inserting an element into a list.
  • Fixed infinite loop that would sometimes occur when a prefab value modification was auto-applied, but the application of that modification did not cause the auto-apply to stop applying.
  • Introduced a special case fix to TypeExtensions.GetEqualityComparerDelegate for Quaternion, so it also compares Quaternion's components to each other, so "default(Quaternion) == default(Quaternion)" will evaluate to true. This was causing prefab modifications to be applied every frame when a Quaternion was being inspected on a prefab instance, causing a lot of lag and incorrectly flagging Quaternion values as modified.
  • Added missing foldout to RectDrawer.
  • Fixed bug where generic inferral broke when some generic parameters for drawers were strongly typed.


  • DisableContextMenuAttribute now has options for choosing whether to disable context menu for member and/or child list elements.
  • Implemented RectExtensions.Split


  • Changed the cautionary serialization warning text to be more cautionary.
  • Odin Inspector preferences window is no longer opened as a utility window, but a regular window.
  • Renamed PropertyTree.Targets to PropertyTree.WeakTargets, and added strongly typed PropertyTree<T>.Targets.
  • InspectorProperty.LastDrawnValueRect is now context sensitive.