🧠 Wat is een Singleton?

Soms één object project breed beschikbaar maken, zoals:

Dan gebruik je een Singleton: een design pattern waarbij maar één instantie van een class bestaat — en deze overal toegankelijk is via ClassNaam.Instance.


🎮 Unity-specifiek verschil

Unity werkt met MonoBehaviour, en je kunt geen constructor gebruiken zoals in gewone C#. Daarom gebruiken we een aangepaste versie van het Singleton-patroon


📚 Singleton in Unity — Stap voor stap

🔹 Stap 1: static Instance

Maak een public static variabele van je eigen class:

public class GameManager : MonoBehaviour
{
    public static GameManager Instance;
}

🔹 Stap 2: Initialiseer in Awake()

In Unity gebruiken we Awake() om te checken of de instantie al bestaat.

public class GameManager : MonoBehaviour
{
    public static GameManager Instance;

    void Awake()
    {
        if (Instance == null)
        {
            Instance = this;
            DontDestroyOnLoad(gameObject); // Blijf bestaan tussen scenes
        }
        else
        {
            Destroy(gameObject); // Verwijder duplicaten
        }
    }


✅ Gebruik van de Singleton