Download

Actor Pool Manager Plugin

Actor Pool Manager Plugin

Spawning alot of actors can hurt your performance of your application. Spawning and destroying the same actor classes will require unnessary memory allocations, constructor calls and will even consume more power if you load other resources like materials, animations or particle effects in your BeginPlay methods.

This plugin is designed to optimize and simplify your actor spawning. Gain more performance and stable framerates while respawning alot of actors by code in C++ or from Blueprints.

Easy Implementation

The Actor Pool Manager Plugin provides an Interface that can extend your C++ Actors and your Blueprint Actors. That way, it is very easy to implement actor pooling in your existing code. It can be used on every C++ or Blueprint class that is an Actor, even Pawns or Characters.

The Interface implementation allows you to use the plugin on complex actor hierarchies without touching the underlying code base. Inheritances cannot be changed in most cases, for example the APawn class. It is not possible to change the base Actor class. With the PoolActorInterface it is possible to extend the default APawn class with the actor pooling feature. All you need to do is to create your own, empty Pawn class which extends from the default Pawn and add the PoolActorInterface.

Documentation, Discord Support Contact and Marketplace link listed below.

Documentation (PDF):

Discord:

Marketplace:

Thanks to MonsterGames47 for the question about Network Replication.

These actors are spawned from the Pool Manager on the server. The actors are set to replicate in the blueprint. As you can see in the example the server is using only 10 actors at a time. Same to the client. The debug messages show the event calls, that you can easily hook into.

This is the warmup and timer event spawning on the server. BeginPlay has authority switch to start the timer only on the server. The “Spawn Pool Actor on Server” event is set to “Run On Server”.

This is how the replicated sample actor is setup.

The color is replicated by the replicated variable to the client by the RepNotify-event.