A light weight library to dispatch actions and functions to the Unity3D main-thread, including custom awaiters for synchronisation to the main-thread or background threads.Threads is a light weight library to dispatch actions and functions to the Unity3D main-thread. Threads can be used at both Editor-time and Run-time straight out of the box. No initialization is required. Additionally, Threads provides two custom awaiters to synchronize between the main-thread and background-threads. By using these awaiters code can be simplified which makes the code much more readable and maintainable.The dispatcher synchronizes with Unity during the Update loop or EditorApplication.Update loop. When playmode is toggled in the editor, the actions in the queue will be purged, and thus will never complete! Threads will automatically detect when switching between editor-mode and play-mode.When using the custom awaiters the actions will be synchronized to the main-thread by using the UnitySynchronizationContext. This will dispatch on the main-thread during the WaitForFixedUpdate event in the Unity Event Loop.