RealDocs

UAnimInstance::ResetDynamics

function Engine Blueprint Since 4.15
#include "Animation/AnimInstance.h"
Access: public Specifiers: UFUNCTIONBlueprintCallable

Description

Signals all simulation-style animation nodes (AnimDynamics, CCDIK, etc.) to reset their internal state on the next update. Call this after a teleport or large position change to prevent dynamic nodes from snapping or overshooting.

Caveats & Gotchas

  • The actual reset does not happen immediately — it sets a pending flag (PendingDynamicResetTeleportType) that is consumed on the next UpdateAnimation call. Querying dynamic node results in the same frame as this call will still reflect the old state.
  • There is a deprecated no-argument overload from UE 4.20. Always use the ETeleportType version; the choice between TeleportPhysics and ResetPhysics affects whether simulated velocities are preserved.

Signature

ENGINE_API void ResetDynamics(ETeleportType InTeleportType);

Parameters

Name Type Description Default
InTeleportType ETeleportType How to reset the simulation: TeleportPhysics resets positions without velocities, ResetPhysics does a full reset.

Return Type

void

Example

Resetting dynamics after teleporting a character C++
// After teleporting the owning actor:
SetActorLocation(NewLocation, false, nullptr, ETeleportType::TeleportPhysics);

// Reset anim dynamics to avoid spring/dynamic overshooting:
if (UAnimInstance* AnimInst = GetMesh()->GetAnimInstance())
{
    AnimInst->ResetDynamics(ETeleportType::TeleportPhysics);
}

Version History

Introduced in: 4.15

Version Status Notes
5.6 stable

Feedback

Was this helpful?

Suggest an edit

Select a field above to begin editing.