Needing a new behavior: "Overlap_Detector"

I have an issue implementing SphereColliders to detect enemies (and the enemies other actors) using Overlap.
I want these spheres to detect actors when they enter to their range, but not firing the overlap on the other actor.
On this current case, if the player approaches another actor the event is fired on the other before i want it, because the “detector sphere” it’s the cause, not the capsule from the character.

I know i can use Sphere traces and other technics, but it worries me the performance and btm i think the Overlap handles better & right enough the elements “near”, so i don’t want to change the implementation by traces.

It doesn’t exists anything like “invisible detectors”, right?
If it’s like so, i leave here my request :slight_smile:

Hey there @Hollowsaibot! You could just process the collisions, instead of checking all actor collisions you can just get the specific collisions you want, and check if it’s the correct actor checking the specific overlapped component.

1 Like

This solution it’s perfectly fine. But i was thinking on something easier to configure.
I like to give feedback, so if what i say it adds something i prefer to share it.
*And I sorry if because my inexperience i understand something wrong or something it’s better or it should be different than i imagine.

Let’s say that i use 3 blueprints: character, enemy, objX.
By the moment, as i said, i want do detections of enemies from my character (using “SphereDetector”).
With the enemies i want to detect the player and other enemies around (using “SphereDetector”).
With the objX i want detect the player (ignoring the “SphereDetector”. Just overlapping the capsule).

Currently using one Collider on the objX i use on the Overlap event the component param and i check if it has one tag called “ignore”, so i avoid the next check if that happens. Then i do the Cast to Character, if it’s the Character (the whatever is wanted) it continues.

On every objY, objZ if i need some behavior related to the Character i would need to do this validation, having to distinct component before the casting. That’s what i would like to avoid, just making the overlap event not triggering the other collider.

Hoping it’s helpful
Regards

Understandable! The collision handling system handles this in most cases with the ignoring of certain collision channels. However the only reason the baseline collision system doesn’t work in this instance is because child actors take on their parent’s collision profile. Which, without welding you technically can avoid it, but if you’re using any form of physics it wouldn’t work.

1 Like