RealDocs

UKismetMathLibrary::Quat_AngularDistance

function Engine Blueprint Since 4.0
#include "Kismet/KismetMathLibrary.h"
Access: public Specifiers: staticBlueprintPure

Description

Returns the shortest angular distance in radians between two rotation quaternions. Useful for blending decisions and animation threshold checks.

Caveats & Gotchas

  • The result is in radians, not degrees — multiply by (180.0f / PI) or use FMath::RadiansToDegrees to convert before comparing against degree-based thresholds.
  • Both quaternions must be normalized; passing un-normalized quaternions gives incorrect angle values due to the underlying dot product implementation.

Signature

static UE_INL_API float Quat_AngularDistance(const FQuat& A, const FQuat& B)

Parameters

Name Type Description Default
A const FQuat& The first rotation quaternion.
B const FQuat& The second rotation quaternion.

Return Type

float

Example

Check if an actor has rotated more than 5 degrees since last frame C++
float AngularDeltaRad = UKismetMathLibrary::Quat_AngularDistance(PreviousQuat, CurrentQuat);
float AngularDeltaDeg = FMath::RadiansToDegrees(AngularDeltaRad);
if (AngularDeltaDeg > 5.0f)
{
    OnSignificantRotation.Broadcast();
    PreviousQuat = CurrentQuat;
}

Version History

Introduced in: 4.0

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.