Singleton : Implementation in Unity3d C#
F:http://www.unitygeek.com/unity_c_singleton/
Objective :
Singleton is a very complex topic, In this, we try to understand basics and various implementation of Singleton in Unity3d using C#.
Intro:
Singleton is a basic Design Pattern. Classes implementing Singleton pattern will ensure that only one instance of the object ever exists at any one time. It is recommend using Singletons for things that do not need to be copied multiple times during a game.This is great for controller classes like GameManager or AudioController.
Implementation:
There are several ways of implementing Singleton in Unity, we will some of the implementation in this tutorial
- Simplest Implementation
Above code is the simplest implementation of Singleton, but there are some issues which we have to address
- Singleton is not persistent across the Unity scenes.
- All the executable code must be attached to GameObject in the hierarchy.
- It is not recommended to call Singleton
Controller.Instance
in anyAwake()
method because, since we don’t know the order thatAwake()
will be executed through all scripts, we can end up with a Null