Unreal Engine 5 · Blueprint → C++
Event On Actor Begin Overlap in Unreal Engine 5 C++UE Docs
The Blueprint Event On Actor Begin Overlap maps to the OnActorBeginOverlap delegate on AActor. It fires at the actor level when any of its components begins overlapping another actor.
Blueprint node & C++ equivalent
UFUNCTION()
void OnActorOverlap(AActor* OverlappedActor, AActor* OtherActor);OnActorBeginOverlap.AddDynamic(this, &AMyActor::OnActorOverlap);Actor overlap vs component overlap
OnActorBeginOverlap is a coarser, actor-wide event with a simpler signature than the per-component OnComponentBeginOverlap. Its handler receives just AActor* OverlappedActor and AActor* OtherActor, with no component or hit details.
Use the actor version when you only care that something overlapped this actor and do not need to know which specific component was touched.
The C++ equivalent
Declare OnActorOverlap(AActor* OverlappedActor, AActor* OtherActor) and mark it UFUNCTION(). Because OnActorBeginOverlap is a member of AActor itself, you bind directly with OnActorBeginOverlap.AddDynamic(this, &AMyActor::OnActorOverlap); without prefixing a component.
The actor still needs at least one component generating overlap events for this to fire, so the underlying collision setup is the same as the component-level version.
Frequently asked questions
What is the difference between OnActorBeginOverlap and OnComponentBeginOverlap?+
OnActorBeginOverlap lives on the actor and gives you only the two actors involved. OnComponentBeginOverlap lives on a component and also tells you which components overlapped, the body index, and sweep hit data.
How do I bind OnActorBeginOverlap in C++?+
Since it is a member of AActor, call OnActorBeginOverlap.AddDynamic(this, &AMyActor::OnActorOverlap); from within the actor, with a UFUNCTION() handler taking AActor* OverlappedActor and AActor* OtherActor.