you’re also checking if the old and new actors are the same both inside and outside the ‘startoutlinetracing’ function, so that’s redundant but shouldn’t break anything.
I’d insert print strings at various points in the code looking for anything unexpected. for example, you can confirm if you’re hitting the expected components by printing the name of the actor/components from the hit result.