object-pooling-system

Pool Unity GameObjects with ObjectPool<T> to eliminate GC spikes.

2|Updated Apr 26, 2026
One-click install
npx skills add https://github.com/paek678/BuildUp --skill object-pooling-system-paek678
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: object-pooling-system
Source: https://github.com/paek678/BuildUp/tree/main/skills/06-performance/object-pooling-system
Command: npx skills add https://github.com/paek678/BuildUp --skill object-pooling-system-paek678

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

High-performance object pooling eliminates GC spikes and allocation overhead from frequent Instantiate/Destroy, making gameplay smoother during rapid spawns.

Core Features & Use Cases

  • Pre-warmed pools and IPoolable lifecycle (OnSpawn/OnDespawn)
  • Deterministic retrieval, reuse of pooled objects, and explicit Return
  • Use cases include bullets, enemies, particles, VFX, and UI list items in performance-critical scenes
  • Supports Simple, Generic, Expandable, and Multi-Pool configurations

Quick Start

Create a pool for your prefab using the provided pool templates and a simple registration flow.

Frequently Asked Questions about object-pooling-system

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I eliminate GC spikes from frequent Instantiate and Destroy calls in Unity?

You can eliminate GC spikes in Unity by using object pooling to reuse GameObjects instead of calling Instantiate and Destroy, preventing allocation overhead during rapid spawns of bullets, enemies, or particles.

What is the IPoolable lifecycle in Unity object pools?

The IPoolable lifecycle in Unity object pools provides OnSpawn and OnDespawn methods, ensuring deterministic retrieval, reuse of pooled objects, and explicit Return. This manages object state across multiple spawn cycles without allocating new memory.

How do I pre-warm a Unity object pool for bullets and particles?

Pre-warming a Unity object pool involves initializing a set number of bullets, particles, or VFX objects upfront using provided pool templates. This prevents frame hitches during gameplay by ensuring pooled objects are ready before they are needed.

Does this object pooling system support multiple prefabs or generic configurations?

The object pooling system supports Simple, Generic, Expandable, and Multi-Pool configurations, allowing you to manage multiple prefabs and scale pool sizing strategies dynamically for various UI list items, enemies, and projectiles.

What are the limitations of object pooling for Unity GameObjects?

Object pooling for Unity GameObjects requires implementing IPoolable interfaces and explicit Return calls. It is not suited for objects with non-deterministic lifecycles or unique spawn states, as reusing instances without resetting state properly can cause gameplay bugs.