RealDocs

UCharacterMovementComponent::AddRadialImpulse

function Engine Since 4.0
#include "GameFramework/CharacterMovementComponent.h"
Access: public Specifiers: virtualoverride

Description

Applies an instantaneous outward impulse to the character if it's within Radius of Origin, typically used for explosion knockback.

Caveats & Gotchas

  • Does nothing if the distance from Origin exceeds Radius, exactly like AddRadialForce.
  • bVelChange bypasses mass scaling; since CharacterMovementComponent doesn't use physical mass the way rigid bodies do, most gameplay code sets bVelChange to true for predictable launch distances.
  • The impulse is queued via AddImpulse() and consumed on the next movement update, so calling it multiple times in one frame accumulates.

Signature

virtual void AddRadialImpulse(const FVector& Origin, float Radius, float Strength, enum ERadialImpulseFalloff Falloff, bool bVelChange) override

Parameters

Name Type Description Default
Origin const FVector& World-space center of the impulse.
Radius float Distance from Origin within which the impulse is applied.
Strength float Impulse magnitude at the origin (or overall magnitude when Falloff is constant).
Falloff ERadialImpulseFalloff Whether impulse strength stays constant or falls off linearly with distance.
bVelChange bool If true, Strength is treated as a direct velocity change rather than a mass-scaled impulse.

Return Type

void

Example

Applying explosion knockback C++
GetCharacterMovement()->AddRadialImpulse(ExplosionLocation, 800.f, 1200.f, RIF_Linear, true);

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.