Odin Inspector makes it easy for you and your team to enjoy the benefits of a powerful and user-friendly inspector, without ever having to write a single custom editor.
Writing games sometimes require complex data-structures that are beyond Unity's serialization capabilities. This can force you into bad situations, quick hack solutions, and a code-base that quickly becomes harder to maintain.
Odin Inspector comes with a robust serialization system tailored to Unity - no more doing it quick and dirty; we'll do it for you, and do it right.
A simple, straight-forward data structure is often the way best way to go, but there are times where you simply need to serialize that complex generic, polymorphic type with cyclic references. This is where our custom serialization protocol comes into play.
You can either inherit from one of our many in-built classes, such as SerializedMonoBehaviour and SerializedScriptableObject, or add a few lines of code to your existing classes.
Bugs are often caused when a designer doesn't know how a component works and accidentally sets an invalid value. This causes many errors, and can waste a lot of time that might have been productive while they look it up in a manual or consult with the developer who wrote the component.
Odin lets you easily write custom validation logic to ensure only correct values are set, and lets you give sensible feedback right in the inspector. Providing informative warnings, or simply disallowing invalid values, goes a long way towards minimizing the amount of potential bugs and smoothing out your workflow.
Odin also provides a Scene Validation Window, which lets you scan entire scenes for errors, warnings, missing references etc.
All arrays and lists are drawn by our powerful list drawer.
Draw lists, arrays and two-dimentional arrays as tables.
Properly ordering, labeling, hiding and grouping your properties helps the user to faster find what they are looking for.
Instead of making your designers search through your project to find the right assets or prefabs to reference, simply specify in the code which assets the designer can choose from and they will be presented with a list of choices that they can toggle in or out of the list.
If you use the AssetList on a list or array type, it will display you a list of all filtered that lets you toggle assets in and out of the list, otherwise it will give you a quick way shuffle through all filtered values.
One way of easily preventing invalid values from being set, is by providing the user with a list of valid values to choose from.
The ease of dropdown selection is no longer limited to just enums. Odin lets you create a dropdown with value of any type to choose from.
The Inline Editor attribute lets you render an editor for any UnityEngine.Object reference directly inside the inspector.
It can draw the editor, the file header, and the interactable object preview, which all can be customized and enabled or disabled through the attribute.
Define project-based color palettes for your whole team to share, and mark relevant color properties to show a color palette right next to the color picker.
With more to come...
We make it easy to configure how you want the inspector to act in your project, and trivial to create new configurations for your own custom drawer types.
By default, Odin generates editors for all your custom Unity types. This can be a bit much for some people, so we've added the ability to selectively enable or disable Odin for specific types or even namespaces. We've also provided multiple attributes which tell whether or not Odin should draw any given class or property...
A key success in developing simulation games is being data-driven, and exposing it to the designer can often waste a lot of time. Odin Inspector is fantastic at easing that pain and allowing us to just get on with it.
Odin at this stage is already a very powerful tool and will be an extremely useful addition to our Unity workflow.
Building a simple or complex inspector has never been easier with Odin Inspector.