2 min read

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:

github.com/BrokenGameplayStudios/ObjectPoolPlugin