How do I stop my enemies overlapping eachother?

I am using the same blueprint to summon a few of the same enemy, problem is as they follow (chase) me , they end up overlapping eachother and the result is very confusing as you cant tell how many enemies there really are. Any help? I’ve tried changing the type of collisions but it does nothing. Thanks guys

Are you using your own custom AI or using the built in AI system? [Behavior trees and blackboards]. I had a similar problem, and solved it in a kind of cheesy way.

It will be done differently depending on how you have your AI set up, but one way to do it is to give them a separate overlap that only triggers when it’s another of that same kind of blueprint [the enemy class], and tells them to move to a random location in a radius of where they are before continuing the chase. It makes it look like they are bumping into each other and separating when they get too close, without using actual collision.

Hey thanks for your reply,
To answer your question I’m not using an AI system, I’m making a 2D game and I’m using a system that gets the X-coordinate of the enemy and has it try and match it with that of the player character (following)

But your solution sounds promising, would you mind getting me a screen shot of what you have done? or walk me through it ? Thank you again!

Oh okay. So it doesn’t involve any prebuilt AI system. The way I did it is this:

But yours is blueprint based, so this wouldn’t work. However, you would be able to do essentially the same thing using blueprints, you would just have to do it manually. I whipped up a quick idea of what it might look like, but will obviously be different based on the way you have them set up:

Basically, when the enemies collide with other enemies of the same class, they get a random location in a radius around them, and set that as their destination temporarily. What you would probably want to do is make a boolean for whether or not they are taking a “detour”, and if they are, set them to go to their “detour destination”. Then when they are there, swap that boolean back so that they resume chasing the player.

I don’t know how exactly you have yours set up, but it should be compatible with this with a bit of fiddling.

1 Like

Thanks man , Worked perfectly!

Sweet! Glad to hear it!