RealDocs

AActor::DispatchPhysicsCollisionHit

function Engine Since 4.0
#include "GameFramework/Actor.h"
Access: public Specifiers: virtual

Description

Called by the physics engine when two rigid bodies collide. Internally dispatches ReceiveHit and the OnComponentHit delegate on the relevant component.

Caveats & Gotchas

  • This is an engine-internal dispatch path called from the physics thread callback — do not call it manually. Override it only if you need to intercept physics collision notifications before they reach ReceiveHit.
  • The FCollisionImpactData struct may contain multiple contact points from a single physics step. Only the most significant contact is forwarded to ReceiveHit/NotifyHit.

Signature

ENGINE_API virtual void DispatchPhysicsCollisionHit(const struct FRigidBodyCollisionInfo& MyInfo, const struct FRigidBodyCollisionInfo& OtherInfo, const FCollisionImpactData& RigidCollisionData)

Parameters

Name Type Description Default
MyInfo const struct FRigidBodyCollisionInfo& Rigid body info for this actor's component.
OtherInfo const struct FRigidBodyCollisionInfo& Rigid body info for the other actor's component.
RigidCollisionData const FCollisionImpactData& Full impact data from the physics engine including contact points and impulses.

Return Type

void

Example

Override to intercept physics hits before ReceiveHit C++
void AMyActor::DispatchPhysicsCollisionHit(
    const FRigidBodyCollisionInfo& MyInfo,
    const FRigidBodyCollisionInfo& OtherInfo,
    const FCollisionImpactData& RigidCollisionData)
{
    // Log raw physics impact before it's forwarded to ReceiveHit
    UE_LOG(LogTemp, Verbose, TEXT("Physics hit: %d contact points"), RigidCollisionData.ContactInfos.Num());
    Super::DispatchPhysicsCollisionHit(MyInfo, OtherInfo, RigidCollisionData);
}

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.