Hit Result Hit Item returns -1 on FoliageInstancedStaticMeshComponent

I have found a workaround to fit my use case. To reiterate: I am not using physics collision so I cannot rely on On Hit events and must use On Begin Overlap. Because On Component Begin Overlap does not populate most of the Sweep Result struct, but I want to fire the function based on this Overlap, I was left working around it.

In the few other threads I could find discussing this, one potential solution mentioned was using On Overlap to fire one or more traces of your choosing and then derive information from that. One user mentioned an alternative to this: take On Component Begin Overlap, plug Other Comp into the Cast To for your item, then plug the output pin of your Cast into the node Get Instances Overlapping Box, which outputs an Array that can be used to as references to the overlapped instances; used for instance-related node inputs such as the Instance Index input of the Remove Instance node.

The ‘Box’ is a struct of two 3D vectors, each representing the opposite corners of the box in 3D space.

It’s unfortunate that On Overlap’s Sweep Result struct isn’t at least a bit more useful.