The UnityDispatcher class allows you to execute code on the main Unity thread. This is useful for situations where you need code on a seperate thread (i.e. slow IO operations) to access things that can only be accessed on the main thread.
Inheritance: UnityEngine.MonoBehaviour, IInitialiseOnStartup, IDispatcher
        private void Awake()
        {
            _unityThreadId = GetCurrentThreadId();

            if (_instance == null) {
                _instance = this;
            }
        }