How to interact with objects when they're in my crosshairs?

I set up a crosshair on my viewport and i want the player to be able to interact with objects like pickups, doors, buttons etc. only when the crosshair overlaps with the object on screen.
Can anyone please explain how i would go about doing this?

Linetrace + interfaces.

Depending on the distance involved you could add a cone/capsule collision component to the character. Use it’s overlap for interface events. The problem I see with line trace approaches is you have to fire a trace every frame (tick).