You probably don’t need to do any of this.
Try this in Tick, it’ll interpolate a rotator to a desired target at X speed. Higher is faster obviously. 0.25 - 2.0 is probably a good bet.
MyWeaponAngle (stored FRotator) = FMath::RInterpTo(MyWeaponAngle,TargetAngle,DeltaTime,speed);