The Pooled Object System is a production-ready alternative to Unity’s standard instantiation workflow, designed to reduce allocations and improve runtime performance.
Pools are defined using ScriptableObjects, supporting reusable configurations, scene-scoped cleanup, and flexible exhaustion behaviour. Optional lifecycle callbacks allow pooled objects to reset state safely, while built-in safety features prevent object leaks and misuse.
The system includes debugging tools, runtime statistics, and a complete demo scene demonstrating common use cases such as bullets, explosions, enemies, and debris. It is suitable for VFX, projectiles, AI, UI elements, and any frequently spawned runtime objects.