I have an actor with a static mesh component, how would I detect a collision with the static mesh component and other actors? What virtual functions must I override?
Hi Skydive,
You should add delegate
OnActorHit.AddDynamic(this, &AQAPawn::OnMyActorHit);
void MyActor::OnMyActorHit(AActor SelfActor, AActor OtherActor, FVector NormalImpulse, const FHitResult& Hit)
{
// to do smth
}
Also in Actor exist function you can find useful:
OnActorBeginOverlap
OnActorEndOverlap
Best regards,
For some reason, this does not work. My actor extend AActor and has its root component as a StaticMeshComponent. ReceiveHit doesn’t work. The delegate here does not work either. They’re simply not called
Have you looked at all the documentation available on collision by epic? I am sure if you look around a bit you will understand/find more about this topic.
Hello Skydive,
Make sure you set up everything correctly.
Try to use this
SetActorEnableCollision(true);
In addition, look at collision options Collision in Unreal Engine | Unreal Engine 5.1 Documentation