Welcome to ObjectPooling
ObjectPooling is a high-performance, hitch-free object pooling framework for Unreal Engine. Built as a lightweight
UWorldSubsystem, it completely eliminates runtime frame drops caused by repeatedly calling SpawnActor and DestroyActor during intensive gameplay.Hitch-Free Spawning:
Instead of freezing your game when spawning dozens of bullets, rockets, or blood splatters, ObjectPooling reuses pre-allocated actors instantly.
What is ObjectPooling?#
Every time you call Spawn Actor from Class in Unreal Engine, the engine must allocate memory, construct components, register physics bodies, and initialize Slate widgets. Calling Destroy Actor triggers garbage collection overhead. In action games, spawning hundreds of projectiles per second causes noticeable micro-stutters.
ObjectPooling solves this effortlessly:
- Instant Spawning: Recycles dormant actors with zero allocation cost.
- Frame Budgeting: Pre-warms actor pools across multiple frames so your loading screens and level starts stay butter-smooth.
- Automatic Recycling: Actors return to the pool automatically after a set lifetime or when you manually release them.
- Multiplayer Synchronized: Server-authoritative pooling that replicates actor activation cleanly to connected clients.
Click to expand
Core Features#
| Capability | Description |
|---|---|
| World Subsystem | Available everywhere in Blueprints and C++ without placing manager actors in your level. |
| Frame Budgeted Warmup | Pre-spawns pools over multiple frames to avoid hitches at level launch. |
| Poolable Interface | Simple interface callbacks (OnSpawnFromPool, OnReturnToPool) for resetting actor state. |
| Auto Return Timers | Automatically return projectiles or particles after an adjustable duration. |
| Multiplayer Compatible | Fully supports single-player, listen servers, and dedicated server environments. |