Version 2.1.0.0

Sirenix.Utilities namespace

Classes

Contains utilities for operating on arrays.
A utility class for finding types in various asssembly.
Provides an easy way of claiming and freeing cached values of any non-abstract reference type with a public parameterless constructor.

Cached types which implement the Sirenix.Utilities.ICacheNotificationReceiver interface will receive notifications when they are claimed and freed.

Extension methods for the UnityEngine.Color type.
Not yet documented.
Delegate method extensions.
Provides utilities for using the System.Reflection.Emit namespace.

This class is due for refactoring. Use at your own peril.

FieldInfo method extensions.
This class encapsulates common System.Reflection.BindingFlags combinations.
Garbage free enumerator methods.

A GlobalConfig singleton, automatically created and saved as a ScriptableObject in the project at the specified path. This only happens if the UnityEditor is present. If it's not, a non-persistent ScriptableObject is created at run-time.

Remember to locate the path within a resources folder if you want the config file to be loaded at runtime without the Unity editor being present.

The asset path is specified by defining a GlobalConfigAttribute. If no attribute is defined it will be saved in the root assets folder.

This attribute is used by classes deriving from GlobalConfig and specifies the asset path for the generated config file.

GUILayoutOptions is a handy utility that provides cached GUILayoutOpion arrays based on the wanted parameters.

A GUILayoutOptions instance with an implicit operator to be converted to a GUILayoutOption[] array.
Immutable hashset wraps another hashset, and allows for reading the inner hashset, without the ability to change it.
Immutable list wraps another list, and allows for reading the inner list, without the ability to change it.
Not yet documented.
Immutable list wraps another list, and allows for reading the inner list, without the ability to change it.
Not yet documented.
Various LinQ extensions.
Various list extension methods.
Collection of math function.
Provides a methods of representing imaginary fields which are unique to serialization.

We aggregate the FieldInfo associated with this member and return a mangled form of the name.

Provides a methods of representing aliased methods.

In this case, what we're representing is a method on a parent class with the same name.

We aggregate the MethodInfo associated with this member and return a mangled form of the name. The name that we return is "parentname+methodName".

Provides a methods of representing imaginary properties which are unique to serialization.

We aggregate the PropertyInfo associated with this member and return a mangled form of the name.

The MemberFinder is a utility class often used by Odin drawers to find fields, methods, and properties while providing good user-friendly error messages based on the search criteria.

The MemberFinder is initialized by ether using the extensions method type.FindMember() or MemberFinder.Start(type), and must be ended again using ether TryGetMember() or GetMember().

Not yet documented.
MemberInfo method extensions.
Various extensions for MethodInfo.
Contains utilities for operating on arrays multi-dimentional arrays.
DirectoryInfo method extensions.
Indicates a persistent assembly.
PropertyInfo method extensions.
Defines a collection of handy Rect transformation methods, that can chained together for complex behaviour. Note that no method defined here changes the original Rect, but instead returns a new transformed Rect.
Compares objects by reference only, ignoring equality operators completely. This is used by the property tree reference dictionaries to keep track of references.
Paths to Sirenix assets.

This attribute is used by classes deriving from GlobalConfig and specifies the menu item path for the preference window and the asset path for the generated config file.

The scriptable object created will be located at the OdinEditorConfigs path unless other is specified.

Classes implementing this attribute will be part of the Odin Preferences window.

This attribute is used by classes deriving from GlobalConfig and specifies the menu item path for the preference window and the asset path for the generated config file.

The scriptable object created will be located at the OdinResourcesConigs path unless other is specified.

Classes implementing this attribute will be part of the Odin Preferences window.

String method extensions.
Not yet documented.
Type method extensions.
Extends various Unity classes.
Utility class indicating current Unity version.

Structs

Enums

AssemblyTypeFlags is a bitmask used to filter types and assemblies related to Unity.
Determines the type of operator.

This website is brand new and built with the Odin 2.1 beta in mind. This means you might discover some features such as attribute expressions that are only available in the beta.

You can download the 2.1 beta from here and read the patch-notes here.