[Plugin] Object Pool Component

This is interesting issue.
Can you share with me a video as well?

Are you sure that your particle system isn’t storing the position vector where it is emitting the particles? the actual pooled object is always moved to 0,0,0, when deactivated. So the particle doesn’t care about where the projectile was either, otherwise the particle trace would come from 0,0,0 in the game world.

Here’s a video showing the problem. I don’t believe that the Niagara systems are maintaining any data across instantiations. Anyway, wouldn’t reset or reinitialize remove this?

I tried a few more things after your message. Turns out that adding a Niagara System Reinitialize into the On Pool Begin event fixes this problem. I guess I didn’t try that before, just the reset and Activate with reset option.

Sorry for the confusion and thanks for a great product!

You’re listed in the credits of our game, which is coming to PS5 and Xbox X|S very soon…

1 Like

Awesome!
Wish you luck on your release!

@BrUnO_XaVIeR
Assertion failed: SystemInstanceController->IsSolo() [File:D:\build++UE5\Sync\Engine\Plugins\FX\Niagara\Source\Niagara\Private\NiagaraComponent.cpp] [Line: 863]


Hello.
I bought your plug-in and am using it.
I’m using the Unreal 5.5 version.
The Niagara Particle System component has been added to the actor and is in use.
However, a crash occurs when you spawn it.

The Force solo option was not found in the Detail Panel,
I set it up when I started the blue print, but it still causes a crash.

Please suggest a solution.

I am a non-English language developer, so English is not natural.
Please understand.

Hi.
Are you disabling Niagara’s internal pooling for the particle system?

You may get a crash if it is enabled while the Pooled actor is active. Try disabling this settings on your particle system / component:

It should be always off, doing it on spawn from pool won’t work.


Thank you for your answer.
I’m using Unreal 5.5 and I’ve seen it in the Details panel, but I don’t have a value to set that property value.

So, during On Pool Begin Play, Setforced Solo Mode is disabled
It worked without any problems.

Your answer was very helpful.
Thank you.

1 Like


Do you know why I keep getting this crash? I only happens on endplay. I already updated your plugin as you requested previously. Any advice?

I can investigate this weekend.
What is your Unreal Engine version?

5.5

Heres the crash log:

I think I fixed it. It turns out that destroying two shared pool actors at once caused the issue. I changed it to sequential destroy actor nodes instead.

1 Like

I SPOKE TO SOON! I got the crash again same code. I ended up just removing it from those blueprints for now. The crash does not happen when those are spawned as actors. I would have liked to have those pooled as they spawn in and out every time inventory is opened, but what can you do? :rofl: The Good news is the object pool works fine on pooled actors, it seems like shared pool actors provide the crash on end play.

I am now learning how to use that Mutable characters plugin, but once I’m done with that I will investigate this crash.

This crash is fixed for UE5.4 and 5.5.
The update should be released soon by Epic.

Hello, I want to buy your plugin for my game, but I have not found any information about whether the plugin has the ability to set a cyclic call of objects from the pool. I mean, if the pool is completely filled with a player, then forcefully return the oldest created actor (for example, bullet holes) to the pool and reuse them. If such an option exists, how can I implement it in your plugin using blueprint? Thanks in advance

I don’t quite remember right now, but this be can easily achievable in current state of the tool.

I will check the code soon.

1 Like

This is automatic on plugin 2.3.5, submitted for UE5.5 currently.
Should be released in a couple days by the Fab system.

1 Like

I purchased your plugin, but the very first objects that appear are not automatically returned to the pool when the player fills the pool. Instead of reuse, the function returns null. There is a “Never Fail Deffered Spawn” in the object pool settings menu, but it returns the newly appeared pool object, not the oldest active one.

I will need an explanation for this sentence.
Do you mind sending me a quick video to illustrate?

From 21 minutes into this video