One actor, multiple colliders

Hi, I can’t find this answer anywhere for some reason. I have one actor with multiple box collider components on it. They are arranged into a specific shape that I need to detect overlaps on.

I thought that using ActorBeginOverlap and ActorEndOverlap would take into account that there are multiple colliders that represent singular collision for the entire actor and fire those events only one time when any of those colliders detect overlap events.

Am I mistaken? It doesn’t seem to behave the way I expect. (end overlap, begin overlaps are getting called even when the object to be detected travels through the middle of the actor crisscrossing the collider component boundaries)
Thanks for any help.

Actor begin overlap means any component you have in that blueprint that means all you collision boxes your capsule your mesh, all of it. If you click on one you can make specific events for each component like this

That’s what I thought. However, it’s not working as I expected it to.
Here’s my setup:
I have a base class actor that has 6 box collider components added to the actor.
In the base class event graph I added an ActorBeginOverlap and ActorEndOverlap nodes to detect overlaps on any of the collider components.
I derived a child class from the base that has those box colliders positioned, scaled, rotated into place in order to cover all the nooks and crannies of a room. (this actor is supposed to detect if the player’s pawn enters the space)
btw, the colliders are overlapping each other so there are no gaps between them.

What happens is that I’m getting ActorBeginOverlap and ActorEndOverlap events triggering from each collider when the pawn moves through the individual colliders. I would expect to get ONE ActorBeginOverlap when the pawn enters the space and moves through all the colliders, as well as ONE ActorEndOverlap when the pawn leaves the space and isn’t touching any of the collider components anymore.

In Unity grouped colliders would be compound colliders, seen as one big collider rather than a bunch of individual ones that throw events individually. I’m not getting that behavior so far in Unreal.

I tried parenting the colliders under one main collider, to no avail as well.

So you must be doing something wrong if your using the overlap of specific component. I just did it, almost as like sight there is a close box collision and a farther one. If it hits the farther one it prints string far box or closer one close box, and it works perfectly here is a screen shot.

You could use Hit Actor and check if it’s equal to your player character to prevent the events from triggering by other actors (including own components).

Yeah, this is not what I’m doing or asking about. You are checking individual component overlaps. That’s not what I want. I want an ActorBeginOverlap and ActorEndOverlap to be firing based on an actor which contains multiple collider components. Thanks for taking the time anyway. Cheers!