Object Pool
Reuse actors instead of spawn/destroy thrash — pooling for projectiles, FX, pickups, and more in UE5 multiplayer.
Source: ObjectPoolPlugin
What it’s for
Games that fire a lot of short-lived actors (projectiles, hit sparks, pickups, trash mobs) pay a hidden tax: constant spawn and destroy. Pooling keeps a set of actors warm, activates them when needed, and deactivates them when done — less hitching, more predictable cost.
This is a lightweight, fully replicated object pooling setup for Unreal Engine 5, aimed at the “manager component + pooled actor base” pattern.
Why it exists
Pooling is easy to sketch and hard to get right with multiplayer ownership and replication. We wanted a small, dependency-free pool that assumes server authority and gives clear activate/deactivate hooks for your gameplay and presentation.
What you get (conceptually)
- An object pool component for managing a class of reusable actors
- A pooled object base with activate / deactivate lifecycle events
- Configurable pool size and optional auto-despawn lifespan
- Server-authoritative spawn path (RPC-friendly design)
- Blueprint-native events so VFX and collision toggles stay where they belong — show mesh on activate, hide and stop FX on deactivate
Ideal targets: projectiles, one-shot effects, pickups, and anything you otherwise spam with SpawnActor / destroy.
Who it’s for
Projects where frame time and network smoothness matter, and you’re ready to treat high-frequency actors as a resource, not a one-off spawn.
Want the details?
Pool sizing, spawn transform flow, and base-class overrides are documented in the repo: