Quick Start
You will pool an impact effect actor: enable the plugin, acquire an instance instead of spawning one, and release it when it is finished. No interface, no subclass, no settings changes.
Prerequisites
An actor class you currently spawn and destroy repeatedly. A Blueprint actor with a Niagara component is fine.
1. Enable the plugin
Verify
Project Settings now has a Crimson > Crimson Object Pool section. If it is missing, the plugin is not enabled.
2. Acquire instead of spawning
Replace your Spawn Actor from Class call. Acquire Actor recycles a parked instance when one is free and spawns otherwise - you cannot tell which happened, and you do not need to.
Get Crimson Object Pool Subsystem -> Acquire Actor (Actor Class = your effect, Transform = the hit transform). Promote the return value to a variable.
Verify
Play, trigger the effect once, and confirm it appears exactly as it did when you spawned it.
3. Release it when it is finished
The pool does not manage lifetimes. Wherever you previously called Destroy Actor, call Release Actor instead.
Set Timer by Event (2.0s) -> Is Valid (your stored actor) -> Release Actor. Anywhere you had Destroy Actor, use Release Actor.
An actor you never release is never recycled
It stays counted as live forever, and the pool keeps spawning new instances behind it. This is the most common way a pool appears to 'not work'. How-To: Diagnose Pool Problems shows how to spot it in one command.
4. Confirm it is actually recycling
Crimson.ObjectPool.Dump
Verify
Trigger the effect twenty times, then run the command.
spawnsAvoided should be high and created should have stopped rising - that is recycling. If created keeps climbing, instances are not being released.