I am wondering when it is best to use one over the other? Most of the examples I find for OnComponentBeginOverlap (including the example on the official documentation) seem like they could have used NotifyActorBeginOverlap instead. Is there a reason to use OnComponentBeginOverlap if you don’t care about which components overlapped?
NotifyActorBeginOverlap is a function. Only when inheriting from Actor you can do something.
OnComponentBeginOverlap is a dispatcher anyone can bind to, and you get other informations in case of an overlap.
So it depends what you do. If you are writing an Actor and don’t care what component triggered the overlap, use NotifyActorBeginOverlap.