I tried using the blueprint Rlerp function and had the same issue. The RLerp function calls the FQuat::Slerp so, I tried to swap out FMath::Lerp and use FQuat::Slerp which again causes the same problem.
Fixed the link and also added the current code to the base question.
Just posting this for other people that may stumble upon the same issue as OP.
I’ve had a similar problem with finding the shortest rotational path and came to find this in Epic’s UE-4.15 Engine:
FRotator NewRotation;
// If we are done just set the final rotation
if (bComplete)
{
NewRotation = TargetRotation;
} else {
// We want the shortest path
FQuat AQuat(InitialRotation);
FQuat BQuat(TargetRotation);
FQuat Result = FQuat::Slerp(AQuat, BQuat, BlendPct);
Result.Normalize();
NewRotation = Result.Rotator();
}
TargetComponent->SetRelativeRotation(NewRotation, false);
Maybe this has some use for someone else out there.