Before you even move, fire a single (line/box/sphere) trace from where you are to the location. If you get a False, it’s clear.
Another way is to use the actual Sweep. Before you move, place the actor in the target location with Sweep enabled.
if Sweep returns True (&OutSweepHitResult), it bumped into something, move it back to the starting location and do not move
if Sweep returns False, the path is clear, move it back and start interpolating
This is much more expensive but you are sweeping with the entire actor, if it has parts sticking out that could catch on some geometry, you’ll know. Sweep is not perfect over great distances and may miss thin obstacles.