OnComponentBeginOverlap not firing

Did you enable generate overlap events?

https://puu.sh/ztzcA/ed62a216c5.jpg

Hi,

I’m having a problem where 2 of my objects are not generating overlap events, they’re both world static, and they’re definitely colliding with each other.

And here are the collision profiles for the box colliders on each of them

231693-mirroroverlap.png

And here’s the code for one of the classes, light beam also has a begin overlap but still no luck

More info: If both objects are set to OverlapAllDynamic they do not generate an overlap event (even though they should), but if one or both are set to OverlapAll they do generate the event properly.

As you can see in the constructor, Generate overlap events is set to true, same for the other object

My mistake, they were actually both world dynamic. And I also found out that they aren’t actually colliding with each other, but the longer object was colliding with the spectator pawn and that’s what triggered that event

from what i can tell overlap dynamic wont work because they are static as stated in your first post. and i would expect that begin overlap wouldnt work in general because when the level is constructed they are already overlapping. but thats just my opinion based on my blueprint experience.

but the problem is something else. you must use UFUNCTION() marco on your overlap function

1 Like

I have to say that the answer to this is really sad. The reason the event did not fire is because they were already overlapping when I pressed play. If I start with them separated and move one object into the other, the event will happen.

Thanks man!

I’ve checked:

  1. Collision channels (for both instigator actor and overlapped actor)
  2. Call SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);
  3. Move binding delegates from C++ constructor to BeginPlay()
  4. Adding UFUNCTION() macro to the delegate function finally solves the issue!