Extended Portfolio

Object Pool

A Unity3D exploration of object pooling techniques for real-time apps, focused on reducing allocation churn and keeping frame rates stable under load.

What Is an Object Pool?

An object pool pre-allocates reusable instances so objects can be borrowed and returned instead of repeatedly created and destroyed.

This pattern is useful for high-frequency entities such as bullets, particles, enemies, or temporary effects where repeated allocations can cause frame-time spikes.

Demo Setup

The demo uses spawners arranged in a ring that launch prefabs onto a central sphere. Objects that fall into a kill zone are returned to the pool for reuse.

The approach maintained smooth frame rates and avoided frequent garbage-collection events during extended test runs on desktop and mobile hardware.

Implementation Notes

A common implementation stores a pool reference on each pooled object and provides a return method that resets state before putting the instance back into circulation.

Pool managers track available supply and can expand in controlled increments when demand exceeds capacity, up to a defined upper bound.

Further Reading