Thanks for the taking the time to explain your idea. I think I get what you’re after; while the player is close enough (overlapping) a certain mechanism, allow the mechanism to be interacted with, correct?
Would it be a better route to use blueprint interfaces, where the Interact event comes from the player controller? That way you could assign the interface to whichever actors can be interacted only. In your case, the parent class which all the children will inherit.
Your interactable mechanism blueprints would still need a collider and it could detect whether or not the player is overlapping them like you have.
Something like this, called in the Player Controller. Sends out a general signal to all receivers. In the interface, the “Interacted” function has an Interactor input which is the player’s pawn.

Here is the line trace. It’s by channel. Your mechanism overlap component would need to block Visibility traces. Obviously doesn’t need to be line based. (This example was for a third person game so it depended on player facing direction, but you could use a sphere trace by channel instead or whatever.)
Below is the receiver’s event (not the player controller, but the mechanism in your case). The receiver needs to have the blueprint interface (BPI) added to it’s Class Settings section. From there you can write whatever code per type of object or whatever you want. Then there is no talking back and forth, but listening instead. This is an example of door logic. If the door is locked, it won’t do anything. If it is not locked, it casts the Interactor to the specific character or pawn class.
Then a check for some additional requirements - must be overlapping AND the door must not be animating (I’m calling animations on the door directly - no timelines - opted for skeletal mesh animation instead). From there you can call whatever logic you want for the specific type of “thing” that it is and what it should do.
Just to reiterate one note, the overlap sphere collision is the idea you have in mind. The overlap sphere would need to Overlap Pawn objects and Block Visibility channels.
And just for good measure, you wanted to tell the player that they could interact with whatever they are overlapping so…
You may not need to talk to your character class. I forget why I did it this way exactly, but I think it was for replication reasons. Either way, “Update Current Interact Text” is an event dispatcher which the character owned in this case (it could be in your GUI class, but you need a reference to it).
Here is the binding of the event dispatcher in the UI class. Again, getting the player’s character/pawn in order to know it. The player pawn has the event dispatcher, but nothing happens with it in the pawn class. It just passes along the event from the Receiver to the UI so that some Text can be drawn on screen (the Overlap Text in the Receiver class in this case - which is “Open Door” so the player knows they are close enough to do something).
Hope this helps even if it’s not exactly what you’re after!