Odin Inspector Version 4.0.0 - Beta

Odin 4.0 Beta introduces a brand-new Visual Designer and support for Unity 6000.3.

The Visual Designer is a new workflow for customizing how types appear in the Inspector — all without writing code. It lets you apply and manage attributes visually, right inside the Editor. This is especially useful if you prefer a visual workflow, need to make quick layout adjustments, or want to empower non-programmers to tweak inspector layouts and functionality.




We’re looking for feedback while the Visual Designer is in beta. If you run into issues, have suggestions, or just want to tell us how it feels, please let us know. Your input directly helps us improve it.


Check out the Getting Started guide


Odin Inspector

Fixes

  • Added Unity 6000.3 compatibility. Dozens of method signatures were changed in Unity 6000.3, so Odin's assembly distribution is now IL post processed to automatically use method shims when interacting with Unity methods that have different signatures in different versions of Unity (for example, "Vector3.op_Multiply(Vector3 a, Vector3 b)" vs "Vector3.op_Multiply(in Vector3 a, in Vector3 b)"), or where Unity types have moved assembly (for example, the UnityEngine.EventModifiers enum was moved from UnityEngine.IMGUIModule.dll to UnityEngine.CoreModule.dll). These shims either reimplement the Unity methods or dispatch them to the correct destination using emit. The source distribution of Odin is unaffected.
  • fixed an issue where dictionary foldout keys could not be collapsed with certain key types.
  • Fixed an issue where using [LabelText(SomeIcon)] could lead to NullReferenceExceptions if the label was hidden.
  • Fixed an issue where TableLists would not respect SquareCells=true if they had 1 row and a set of specific parameters set.
  • Fixed an issue where TableLists would throw an exception if they only had 1 row and a set of specfic parameters set.
  • Fixed an issue where the scene was marked as dirty again even if it was already dirty, causing EditorApplication.hierarchyChanged to be invoked on every change.
  • Resolved an issue that allowed a PropertyProcessor to add duplicate property names.
  • Fixed error in Tuanjie engine where the AssetSelector attribute drawer did not account for scenes also potentially using the ".scene" and not just the ".unity" extension.
  • Resolved an issue where the Label Text Drawer repeatedly allocated textures for the icon rather than doing so only once during initialization.
  • Fixed an issue where the PropertyTree initialized the RootProperty before it was necessary.

Changes

  • The name parameter of the CustomContextMenuAttribute is now a resolved string.

Additions

  • Added an option to change the font size of message boxes in the general preferences.
  • Added ExcludeInOdinDesignerAttribute to exclude members or classes from the visual designer.
  • Added OdinDesignerBindingAttribute to handle property data binding for the visual designer.
  • Added Column Groups.

Odin Validator

  • Fixed error in Tuanjie Engine where Odin Validator would log errors when scanning objects in scenes - it now correctly detects that scene assets use a ".scene" extension instead of ".unity" and runs the scene code path in that case.

Odin Serializer

  • Fixed case where the AOT scan would not correctly scan Tuanjie engine scene files, which can have the ".scene" extension instead of the ".unity" extension.