Probably a very basic issue, forgive my lack of knowledge.
The game is a topdown shooter, character aims at cursor and shoots with left click. The player must be able to interact with basic interactible objects like lights, doors, elevators etc, just right click on it and it will change it’s situation, in light example it will open and close, in elevator example it will go up and down etc. As I imagined all interactible objects will have only 2 mods so must be easier.
Also what will decide if the object is not is simply the range, this is probably the most simple part.
Mabe I am thinking wrong, never done this before, thank y’all in advance.
In your controller should be already integrated Mouse Event (Click, Touch) just search details for mouse. There should be also trace channel for it and distance.
Simply on the actors you want to interact, on collision component ->OnHit you can catch events like click hover etc. Think this was hardcoded into an input (old input system if I remember correctly however its possible to override from C++). This would be the most easy shortcut.
If you want to push it further. Simply you can make a trace from your mouse cursor with controller->GetObjectsUnderController and interact with them better with an interface. This function is generally built in the base class of player controller for you to use.
Further more besides these 2 solutions if you want to be really deterministic and full control over your interaction system then you can make your own system with blueprints without going too deep to test if you want more control of how it behaves.