Overlaps are still generated continously as objects move, it’s just that the engine tracks what is overlapping at any given time and broadcasts events when it changes. Overlap ***Events ***are extremely slow, and tbh I’ve gotten into the habit of disabling it globally now to avoid using them. It’s actually much faster to perform an overlap query by ticking the actor and doing it yourself.
If you already have a reference to the actor, and it’s already ticking, then a squared distance check every frame is going to be immeasurable. If you’re checking many actors, then you might want to use collision queries, or some other spatial acceleration system. Something like this.
Queries are fast, checking distances is fast (assuming you can access the actors quickly), overlap events are slow.