RealDocs

UKismetMathLibrary::BreakTransform

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

Description

Decomposes a FTransform into its Location, Rotation, and Scale components. The counterpart to MakeTransform; the canonical Blueprint 'Break Transform' node.

Caveats & Gotchas

  • The internal rotation is stored as a quaternion; the output FRotator is computed via FQuat::Rotator(), which can produce unexpected Euler angles for rotations exceeding 90 degrees of pitch (gimbal-lock domain). Work with FQuat directly in C++ when the full rotation range matters.
  • Scale is extracted as-is — if the transform was built through ComposeTransforms with non-uniform scales the extracted scale may not match your original input components due to floating-point accumulation.

Signature

static UE_INL_API void BreakTransform(const FTransform& InTransform, FVector& Location, FRotator& Rotation, FVector& Scale)

Parameters

Name Type Description Default
InTransform const FTransform& The transform to decompose.
Location FVector& Output: the translation component.
Rotation FRotator& Output: the rotation expressed as a FRotator.
Scale FVector& Output: the scale component.

Return Type

void

Example

Extract and log a transform's components C++
FVector Loc; FRotator Rot; FVector Scl;
UKismetMathLibrary::BreakTransform(Actor->GetActorTransform(), Loc, Rot, Scl);
UE_LOG(LogTemp, Log, TEXT("Pos: %s  Rot: %s"), *Loc.ToString(), *Rot.ToString());

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.