Managers
📄️ General
In this asset, managers are scripts which handle a core functionality of the game, providing access to its functions via static methods (so they can be called from any other script) or by getting direct access via their GetInstance() methods.
📄️ Network Manager
Component
📄️ Game Manager
Component
📄️ Pool Manager
Pooling objects means reusing game objects instead of instantiating and destroying them every time when they are needed. As Unity's garbage collector is very performance-heavy and could result in serious hiccups and dropping frames during the game, this asset implements strict pooling (activation/deactivation) for game objects needed multiple times in one scene. Thus instantiate and destroy should be replaced by PoolManager.Spawn() and PoolManager.Despawn(). Setting up object pooling in your scene is very easy:
📄️ Audio Manager
The AudioManager script is attached to an indestructible gameobject in the Intro scene living throughout scene changes, handling long (background music) and short (one-time effects) audio playback across the scenes.