If you want to use OnComponentBeginOverlap(), you will need to use Delegates.
Step1: Register your PrimitiveComponent to receive the delegate broadcast
YourComponentPrimitive->OnComponentBeginOverlap.AddUniqueDynamic(this, &YourComponent::CapsuleTouched);
Step2: Create the function to handle the delegate call.
void YourComponent::CapsuleTouched( AActor* Other, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult )
Now you have any information you need about the actors overlapping each other.
Step 3: Make sure to clean up your delegates when the actor is removed
if (YourComponentPrimitive->OnComponentBeginOverlap.IsBound())
{
YourComponentPrimitive->OnComponentBeginOverlap.RemoveDynamic(this, &YourComponentPrimitive::CapsuleTouched);
}
Hope that helps =)