Bubble Shooter Kit Code structure
The code of the kit lives in the BubbleShooterKit/Scripts folder of the project. This folder is further subdivided into three sub-folders:
The Common folder contains all the game-agnostic code of the kit. This is the foundational code that is used across the kit and is not specifically tied to any gameplay logic (i.e., can be reused across different projects). We are going to discuss the most important pieces next.
Pooling is used for every short-lived, dynamically-instantiated object in the game (e.g., bubbles, particles, sound effects) in order to improve the runtime performance of the game. The relevant script is ObjectPool, which comes accompanied by the utility script AutoKillPooled that allows to automatically destroy the attached object after a specified time interval.
Base UI classes
The kit provides several useful abstractions on top of Unity's built-in UI system that are used in many places in the game:
The Editor folder contains all the editor code of the kit.
The Game folder contains all the game-related code of the kit. It is further divided into the following independent, thematic sub-folders: