yaSingleton
Yet Another Singleton library. Based on ScriptableObjects instead of the conventionally used MonoBehaviour.
Open Source @ GitHub
Why
Why use yaSingleton and why use ScriptableObjects?
* No duplicate instances of your singletons across different scenes.
* Single point of entry that's guaranteed to run before any of your Awake scripts.
* Easy versioning. Since singletons are saved as ScriptableObjects, they're outside the scenes and thus easy to version control.
* Thread-safe LazySingleton.
* Better performance; all singletons share the same Update events.
* Easy to integrate with your existing code base.
Icon by Agata Kuczmińska