Version 3.3.0.1

Sirenix.Utilities namespace

Classes

Contains utilities for operating on arrays.
A utility class for finding types in various asssembly.
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.
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.

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 only the TakeX method defined here actually change the original Rect; the rest instead return 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

Determines the type of operator.