Alright, so there is a single function PerformLoSTrace that’s always called for line trace calculations to update the LoS every frame. So what we can do is just take the hit actor from the result and then store it in an array.
Now in the Event Tick, we can clear this array at the start of every frame and then use this array as required after LoS calculations are done. For example, I tested it by changing the material of the hit actors in this example:
But this doesn’t give us an idea of the actors that are going outside the bounds of the visualization. So I’d also suggest keeping a separate array of all the hit actors from the previous frame so that you can compare it with the hit actors from the current frame and make changes to the ones that are not in the new list.