Show / Hide Table of Contents

#

### Classes

#### AlmostVersion

A type that wraps SemVer.Version so that the string of the version is stored when the string is not a valid SemVer.Version.

#### AlmostVersionConverter

A ValueConverter<T> for AlmostVersions.

#### CriticalSection

Provides utilities for managing various critical sections.

#### EnumerableExtensions

Extensions for IEnumerable<T> that don't currently exist in `System.Linq`.

#### Extensions

A class providing various extension methods.

#### FieldAccessor<T, U>

A type containing utilities for accessing non-public fields of objects.

#### MethodAccessor<T, TDelegate>

A type containing utilities for calling non-public methods on an object.

#### PropertyAccessor<T, U>

A type containing utilities for accessing non-public properties of an object.

#### Ref

Utilities to create Ref<T> using type inference.

#### Ref<T>

A class to store a reference for passing to methods which cannot take ref parameters.

#### ReflectionUtil

A utility class providing reflection helper methods.

#### UnityGame

Provides some basic utility methods and properties of Beat Saber

#### Utils

A class providing static utility functions that in any other language would just exist.

### Structs

#### CriticalSection.AutoExecuteSection

A struct that allows `using` blocks to manage an execute section.

### Enums

#### AlmostVersion.StoredAs

Represents a storage type of either parsed SemVer.Version object or raw String.

#### UnityGame.Release

The different types of releases of the game.

### Delegates

#### FieldAccessor<T, U>.Accessor

A delegate for a field accessor taking a `T` ref and returning a `U` ref.

#### PropertyAccessor<T, U>.Getter

A getter for a property.

#### PropertyAccessor<T, U>.Setter

A setter for a property.