EasyCrowds - Create Massive Crowd in Unreal Engine

Niagara-Powered Massive Crowd System.

1 Like

this is crazy! ive been trying to get a horde to spawn but i have no idea how to use Niagara and spawn enemies with baked animations, way too out of my league and really need something like this for my game.

1 Like

would be nice to have documentation on how damage is handled or adding kill count and coin collection count its hard to follow examples or where stuff is going

Thank you for your suggestions. These functions can be added in future versions.

Hi!
Is it possible to get DirectX 12 version of this system? With D3DX12 it currently just crashes, so I am unable to use it in my project.

According to the current feedback, it supports dx12. Do you encounter this situation when running the demo or when running the project? And could you please tell me your graphics card model?

I tried again by creating a fresh project using the EasyCrowd from my FAB library. I used UE 5.6.1. When I then check in the Project Settings → Platforms → Windows → Targeted RHIs → Default RHI: it says DirectX 11. If I change that to be DirectX 12, restart the engine and then try to play the demo maps I get a crash and it says: “GPU Crashed or D3D Device Removed”

The crash log shows this:
GPU Crash dump Triggered
UnrealEditor_D3D12RHI
UnrealEditor_D3D12RHI
UnrealEditor_D3D12RHI
UnrealEditor_D3D12RHI
UnrealEditor_D3D12RHI
UnrealEditor_Core
UnrealEditor_Core
kernel32
ntdll

I did not do any other change in the EasyCrowds project.
I also tried running command: recompileshaders all, but no luck.
My GPU is: GeForce RTX 4090 And I have the latest drivers for it installed.
I have other projects with DX12 and they work, so I am not sure what to do?

Okay, I’ll try to find a computer with a 4090 to test it. I’ll let you know as soon as I find the problem.

has anyone figured out collisions with characters? kind of forced to use a ghost enemy because we can walk/run through them

Particles use distance field collision. You can place a cylinder on the character as the character’s collision. The cylinder can use a completely invisible material, but it cannot be hidden, because if it is hidden, the distance field will disappear.

Hey. I thought to try to provide more info. I tested with another PC that has Geforce RTX 4060 TI. Same crash happened with that PC too.

Okay, it seems that there will be this issue with the 40-series GPU. I will try to fix it this weekend.

Hello, I have updated a version that fixes the DX12 error. You can delete the local cache and try downloading it again.

Thank you! The project is now running perfectly with DirectX 12. I really appreciate you taking the time to update it.

Hi. Where are the global LOD settings?

You can open Niagara and set the visible range of different LODs in the render stage.

1 Like

Hi.When I use custom 3D models, a problem arises: BP_Attack is generated on an event tick, causing a significant frame rate drop.
When I use standard, pre-made characters from the project, this problem doesn’t occur. How i can this correct?

Have attack animations not been added to the characters? Or are the animation states not correctly matched in DataAsset? Try to set an animation as attack state and modify the value of TriggerFrame .

Hi @Simple.B
I’ve been having a great time using your EasyCrowds package so far. I was able to implement my own characters and animations without much trouble, and I’ve been testing everything across different level setups. Overall, it’s been a really nice package.

However, I’ve run into a strange issue that I haven’t been able to pin down yet, and I was hoping you might have some ideas.

When the Niagara characters run uphill for a short period of time, they seem to lose their self collision entirely. Once this happens:

  • They start passing through each other

  • They can no longer receive hits by bullets

  • The issue persists even after they return to flat ground

After this point, they never seem to recover their collision unless the scene is reset.

I tested this behavior in both the Overview and demo_01 maps. In the Overview map, simply extending one of the ramps caused the issue to appear. In demo_01, I observed the same behavior when running uphill on the landscape or on inclined mesh objects. I’ve attached two screenshots showing how I set up these tests.

I’ve tried to track down the cause on my end but haven’t had any luck so far. If this is a known limitation, setting, or something I may be overlooking, I’d really appreciate any help you might have.

Thanks again for the great package, and for your time!

Hello, character self-collision requires the PBD grid to be active. Because your character moved beyond the grid bounds after climbing the slope, the collision failed. You can resolve this by adjusting the height and number of layers of the PBD grid in the Manager.

Regarding the second issue: when you fall back to the ground, collision should resume if you re-enter the PBD grid bounds—unless the current number of characters exceeds the capacity of a single PBD grid. Each grid has a limit on the number of characters it can handle. You will need to adjust this setting appropriately in the Manager based on your requirements.