Summary
With computers nowadays being so fast and powerful (and modern programming languages having such advanced and efficient garbage collection), it’s not uncommon for the Object Pool pattern to come under scrutiny for its usefulness. However, just because you can get away with creating hundreds, thousands, or millions of objects without setting your rig on fire, doesn’t mean you should. Who knows, using communal pools of reusable objects could save your players from unnecessary rage quitting.
Remember, the Object Pooling pattern allocates, stores, and reuses objects from a communal pool, while the pooled object is reusable and holds any object methods or interaction logic. Your Object Pools can hold GameObjects
, Prefabs, C# objects, or collections, and a single pool can manage sub-pools of different pooled object types. The Unity API has a built-in generic ObjectPool
class that stores pooled objects in a stack data structure.
In the next chapter, we’...