SweepMultiByChannel Returns same Actor multiple times

SweepMultiByChannel is returning each component it hits, not just each actor it hits. So, that’s your explanation as to why it returns a bunch of the same actor. Try narrowing down the channel, or using AddIgnoredComponents to try and make it indifferent to any component that may have collision that you don’t care about.

Your only other option is to maybe set up a loop of single sweeps that adds each actor it touches to an ignore list and keeps single-sweeping until it returns NULL, breaking the loop.