Classes
Coroutines
A class providing coroutine helpers.
SingleCreationValueCache<TKey, TValue>
A dictionary-like type intended for thread-safe value caches whose values are created only once ever.
SingleThreadTaskScheduler
A single-threaded task scheduler that runs all of its tasks on the same thread.
Synchronization
Utilities for inter-thread synchronization. All Locker method acquire their object immediately, and should only be used with langword_csharp_using to automatically release them.
UnityMainThreadTaskScheduler
A task scheduler that runs tasks on the Unity main thread via coroutines.
Structs
Synchronization.MutexLocker
A locker for a Mutex that automatically releases when it is disposed. Create this with Lock(Mutex).
Synchronization.ReaderWriterLockSlimReadLocker
A locker for a read lock on a ReaderWriterLockSlim that automatically releases when it is disposed. Create this with LockRead(ReaderWriterLockSlim).
Synchronization.ReaderWriterLockSlimUpgradableReadLocker
A locker for an upgradable read lock on a ReaderWriterLockSlim that automatically releases when it is disposed. Create this with LockReadUpgradable(ReaderWriterLockSlim).
Synchronization.ReaderWriterLockSlimWriteLocker
A locker for a write lock on a ReaderWriterLockSlim that automatically releases when it is disposed. Create this with LockWrite(ReaderWriterLockSlim).
Synchronization.SemaphoreLocker
A locker for a Semaphore that automatically releases when it is disposed. Create this with Lock(Semaphore).
Synchronization.SemaphoreSlimAsyncLocker
A locker for a SemaphoreSlim that was created asynchronously and automatically releases when it is disposed. Create this with LockAsync(SemaphoreSlim).
Synchronization.SemaphoreSlimLocker
A locker for a SemaphoreSlim that automatically releases when it is disposed. Create this with Lock(SemaphoreSlim).