Understanding singleton objects and statics

Some classes are fundamentally different from others in the way they should be instantiated. Most classes define a template for a collection of properties and behaviors that might be instantiated many times in a scene as GameObjects. An enemy class can be used to instantiate many enemy objects, a power-up class for many power-up objects, and so on. However, some classes such as GameManager, HighScoreManager, AudioManager, or SaveGameManager are intended to exist as a lone entity, one that consolidates a unified set of behaviors. In short, there should only ever be one instance of the class at any one time and never more than one. To have more than one instance would either be nonsensical or damage the ...

Get Mastering Unity Scripting now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.