UAnimInstance::ResetDynamics
#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);
} See Also
Tags
Version History
Introduced in: 4.15
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?