If you use interface, you probably have each component implement a function in the interface that returns some way to identify them. Like a function called “GetComponentType” and maybe you have an enum that is returned for each type of component that you are looking for.
Tags is less setup but you just have to be careful to type the same exact string, and if you change it one place have to remember to update elsewhere.
If you have some collision sphere or something like that which is larger than all the other components, you might always hit it first. In that case you have to use custom trace channels to filter out what you don’t want. But first thing you can do it just use print string to report the Overlapped Component and test to see if that is working as you expect.
