This is a simple class which makes it so you dont need to write a singleton over and over again in each script you want to use it.
Software - Unity, C#
Team size - 1 person
A singleton in Unity is a globally accessible class that exists in the scene but can only be created once. This makes it so that any other script can access the singleton, allowing you to easily connect objects to important parts of the game, such as to the player or to other game systems.
Because I've made a lot of singletons it became pretty repetitive so I made a class which other scripts can inherit from to make is a singleton. This makes it so that you don't need the code in the script it self so it looks cleaner and you don't need to write it over and over again.
You use it by instead of inheriting from MonoBehaviour you inherit from GenericSingleton<T> and on the place of the T goes the name of the class you want to be a singleton.