AActor::DispatchPhysicsCollisionHit
#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);
} Tags
Version History
Introduced in: 4.0
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?