About the math.
That’s very close to what I ended up with minus the math for the bounce on blocking hit and rather than transform I used 2 FVectors: one for world location and another for direction. Don’t think you need scale nor a rotator to have to convert to a direction vector.
Also have * delta time to have a consistent speed regardless of framerate.