I got it to work by setting
Mesh->bGenerateOverlapEvents = true;
Mesh->SetNotifyRigidBodyCollision(true);
and overriding ReceiveHit.
<YourPawn.h>
public:
virtual void ReceiveHit(class UPrimitiveComponent* MyComp, class AActor* Other, class UPrimitiveComponent* OtherComp, bool bSelfMoved, FVector HitLocation, FVector HitNormal, FVector NormalImpulse, const FHitResult& Hit) override;
<YourPawn.cpp>
void YourPawn::ReceiveHit(class UPrimitiveComponent* MyComp, class AActor* Other, class UPrimitiveComponent* OtherComp, bool bSelfMoved, FVector HitLocation, FVector HitNormal, FVector NormalImpulse, const FHitResult& Hit)
{
Super::ReceiveHit(MyComp, Other, OtherComp, bSelfMoved, HitLocation, HitNormal, NormalImpulse, Hit);
if (GEngine) {
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Yellow, FString("HERE Crash with " + Other->GetName()));
}
}