RealDocs

UAnimInstance::OnUROSkipTickAnimation

function Engine Since 4.22
#include "Animation/AnimInstance.h"
Access: public Specifiers: virtual

Description

Virtual callback invoked when the Update Rate Optimization (URO) system skips the animation tick for this instance. Override to perform lightweight per-frame bookkeeping that must still run even when the full anim graph evaluation is skipped.

Caveats & Gotchas

  • Called on the game thread but only when URO actually skips a tick. When URO is disabled or the mesh is at full tick rate this function is never called, so do not use it for logic that must run every frame — use NativeUpdateAnimation instead.
  • The deprecated predecessor OnUROPreInterpolation (removed 4.22) ran before interpolation; this replacement runs after the skip decision is made but before the interpolated pose is applied.

Signature

virtual void OnUROSkipTickAnimation() {}

Return Type

void

Example

Updating a lightweight movement flag during URO skips C++
void UMyAnimInstance::OnUROSkipTickAnimation()
{
    Super::OnUROSkipTickAnimation();
    // Update a simple flag so Blueprint nodes still reflect owner velocity
    // even when the full graph evaluation is skipped.
    USkeletalMeshComponent* Mesh = GetSkelMeshComponent();
    if (AActor* Owner = Mesh->GetOwner())
    {
        bIsMoving = Owner->GetVelocity().SizeSquared() > 1.0f;
    }
}

Version History

Introduced in: 4.22

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.