Add, Edit or remove custom color palettes used by the ColorPaletteAttribute.
You can modify the configuration in the Odin Preferences window found in 'Tools -> Odin Inspector -> Preferences -> Drawers -> Color Palettes', or by locating the configuration file stored as a serialized object in the Sirenix folder under 'Odin Inspector/Config/Editor/ColorPaletteManager'.
DrawerPriority is used on inspector drawers and indicates the priority of the drawer.
Use this to make your custom drawer to come before or after other drawers, and potentially hide other drawers.
Contains general configuration for all Odin drawers.
You can modify the configuration in the Odin Preferences window found in 'Tools -> Odin Inspector -> Preferences -> Drawers -> General', or by locating the configuration file stored as a serialized object in the Sirenix folder under 'Odin Inspector/Config/Editor/GeneralDrawerConfig'.
Tell Odin which types should be drawn or should not be drawn by Odin.
You can modify which types should be drawn by Odin in the Preferences window found in 'Tools -> Odin Inspector -> Preferences -> Editor Types', or by locating the configuration file stored as a serialized object in the Sirenix folder under 'Odin Inspector/Config/Editor/InspectorConfig'.
Contains configuration data for which types Odin should draw in the inspector.
Draws an InspectorTypeDrawingConfig instance, and contains methods getting all types that should be drawn by Odin.
Note that this class keeps a lot of static state, and is only intended to draw the instance of InspectorTypeDrawingConfig that exists in the InspectorConfig singleton asset. If used to draw other instances, odd behaviour may occur.
The property is not serialized by anything - possibly because it is a method, possibly because it is a field or property shown in the inspector without being serialized.
In the case of fields or properties, polymorphism, null values and types such as System.Collections.Generic.Dictionary<TKey, TValue> are supported, but will not be saved.
Base class for attribute drawers. Use this class to create your own custom attribute drawers that will work for all types. Alternatively you can derive from OdinAttributeDrawer<TAttribute, TValue> if you want to only support specific types.
Odin supports the use of GUILayout and takes care of undo for you. It also takes care of multi-selection in many simple cases. Check the manual for more information on handling multi-selection.
Also note that Odin does not require that your custom attribute inherits from Unity's PropertyAttribute.
Base class for all type specific attribute drawers. For non-type specific attribute drawers see OdinAttributeDrawer<TAttribute, TValue>.
Odin supports the use of GUILayout and takes care of undo for you. It also takes care of multi-selection in many simple cases. Checkout the manual for more information on handling multi-selection.
Also note that Odin does not require that your custom attribute inherits from Unity's PropertyAttribute.
Base class for all Odin drawers. In order to create your own custom drawers you need to derive from one of the following drawers:
Remember to provide your custom drawer with an Sirenix.OdinInspector.Editor.OdinDrawerAttribute in order for it to be located by the
Drawers require a PropertyTree context, and are instantiated automatically by the
Odin supports the use of GUILayout and takes care of undo for you. It also takes care of multi-selection in many simple cases. Checkout the manual for more information.
Base class for all group drawers. Use this class to create your own custom group drawers. OdinGroupDrawer are used to group multiple properties together using an attribute.
Note that all box group attributes needs to inherit from the PropertyGroupAttribute
Remember to provide your custom drawer with an Sirenix.OdinInspector.Editor.OdinDrawerAttribute
in order for it to be located by the
The style settings used by OdinMenuItem.
A nice trick to style your menu is to add the tree.DefaultMenuStyle to the tree itself, and style it live. Once you are happy, you can hit the Copy CSharp Snippet button, remove the style from the menu tree, and paste the style directly into your code.
Base class for all value drawers. Use this class to create your own custom drawers for any specific type.
Remember to provide your custom drawer with an Sirenix.OdinInspector.Editor.OdinDrawerAttribute
in order for it to be located by the
Odin supports the use of GUILayout and takes care of undo for you. It also takes care of multi-selection in many simple cases. Checkout the manual for more information on handling multi-selection.
Handles all prefab modifications that apply to the targets of a property tree, if any. This class determines which properties have modifications, what the modifications are, auto-applies modifications if the current instance values do not correspond to the prefab values, and also provides an API for modifying those modifications.
NOTE: This class is liable to see a lot of changes, as the prefab modification system is slated to be redesigned for increased extendability in the future. Do not depend overly on the current API.
A contextual value attached to an InspectorProperty, mapped to a key, contained in a PropertyContextContainer.
Contains a context for an InspectorProperty, which offers the ability to address persistent values by key across several editor GUI frames.
Use this in drawers to store contextual editor-only values such as the state of a foldout.
This is a class for creating, getting and modifying a property's various states. An instance of this class always comes attached to an InspectorProperty.
See Odin's tutorials for more information about usage of the state system.
Represents a set of values of the same type as a tree of properties that can be drawn in the inspector, and provides an array of utilities for querying the tree of properties.
Represents a set of strongly typed values as a tree of properties that can be drawn in the inspector, and provides an array of utilities for querying the tree of properties.
This class also handles management of prefab modifications.
Represents an alias for a strongly typed collection of values for a PropertyValueEntry<TValue> - one value per selected inspector target.
This class ensures that polymorphism works in the inspector, and can be strongly typed in applicable cases.
DrawerPriority is used in conjunction with DrawerPriorityAttribute to specify the priority of any given drawer. It consists of 3 components: Super, Wrapper, Value, where Super is the most significant component, and Standard is the least significant component.
Contains information about an editor type which is assigned to draw a certain type in the inspector.
This class uses the TypeBinder instance to bind types to names, and names to types.
DrawerPriorityLevel is used in conjunction with DrawerPriority.