Vasrek - UltraPool - Actor Pooling System

Stop destroying and respawning actors. UltraPool keeps them alive, reuses them instantly, and eliminates GC spikes for good. Built entirely in C++ as a World Subsystem, UltraPool integrates into any project in under 2 minutes, with a clean Blueprint API that requires zero C++ knowledge to use.

Trailer

────────────────────────────────────────

WHY ULTRAPOOL?

────────────────────────────────────────

The most popular pooling plugins on Fab are stuck on UE 5.0–5.1. UltraPool is built for UE 5.7, from the ground up, with modern C++ standards and full Blueprint exposure.

Live benchmark (included in the demo map):

  • Classic SpawnActor → too much allocations, GT spikes, stutters

  • UltraPool → stable allocations, stable GT, less stutter

────────────────────────────────────────

KEY FEATURES

────────────────────────────────────────

⚡ Zero GC overhead

Actors are hidden and reused, never destroyed. No garbage collector pressure, no frame spikes.

🎯 Lease System with Auto-Return

Assign a TTL to each acquired actor. UltraPool automatically returns it when the lease expires, no manual tracking needed.

🔄 4 Growth Policies

Fixed, OnDemand, Elastic, Doubling, choose how your pool scales at runtime.

🎰 4 Slot Policies

LIFO, FIFO, LeastUsed, MostUsed, control which actor gets handed out next.

🔍 3 Acquire Strategies

Acquire by PoolID, by Actor Class, or by custom Tag.

🛡️ Generation-Based Handle Validation

FPooledActorHandle carries a generation counter. Stale handles are detected instantly, zero dangling pointer crashes.

🔧 IPoolableInterface

Hook into OnAcquiredFromPool, OnReturnedToPool, OnPoolWarmup, and CanBeReclaimed directly from any Blueprint Actor.

📦 UltraPoolComponent (optional)

Attach to any Actor for automatic lifecycle management, Blueprint delegates, and one-call ForceReturn().

📊 Runtime Stats

Per-pool and global stats at runtime: active leases, available actors, misses, peak usage, spawn count.

🔥 WarmUp System

Pre-spawn actors at level load with WarmUpPool or WarmUpAll, zero hitches during gameplay.

────────────────────────────────────────

PERFECT FOR

────────────────────────────────────────

→ Projectiles & bullets (shooters, tower defense)

→ VFX & Niagara emitters

→ AI minions & enemies

→ Decals, hit particles, audio actors

→ Any actor that spawns and despawns frequently

────────────────────────────────────────

INCLUDED

────────────────────────────────────────

✅ Full C++ source code (7 files, fully commented)

✅ Blueprint demo map with live benchmark (Breaking Point stress test)

✅ BP_PooledProjectile & BP_ClassicProjectile example actors

✅ Complete HTML documentation with Quick Start, API Reference, tutorials, and common pitfalls

✅ Discord support server