You could also just use an interface message to send an event to whatever the trace hits every tick. Say your interface is Called LookingAtInterface and the event you want to use is called BeingLookedAt, then on anything that you want to be able to look at, implement this LookingAtInterface. Then you should be able to get the BeingLookedAt event, and do what you want with it.
I have done something similar to this in the past, for simulating mouse over events. You will also want to add some logic to track what you are you are currently looking, and what you last looked at, and each each tick test what you are currently looking at against what you looked at last, if they don’t match then send a NotBeingLookedAt to the thing you looked at last, and BeingLookedAt to the thing you are looking at this tick. Then, after that you would set what you last looked at to what you are currently looking at.
If what you are currently looking at = what you last looked at, you wouldn’t need to do anything, because you would have already sent the message to it.
I know that might sound a bit confusing