Event ActorBeginOverlap not firing

I know this topic comes up quite regularly, but I’ve read plenty of old threads about it and can’t find a solution.

I’m having trouble getting an “ActorBeginOverlap” event to fire.

I actually had overlap events working perfectly on an old version of the project, but after refactoring the blueprints, I can’t get them to work again. For this reason, I suspect it may have something to do with the fact that I’m inheriting my weapons from a parent class, because in the old version, each weapon was just a separate class derived from the “Actor” class. I haven’t started refactoring the enemies yet, so it’s most likely that the problem is with the weapons.

My collision settings look like this:

for the weapon projectile, and this:

for the enemy. My meshes both have collisions on them:

And to simplify the troubleshooting, I’ve added a “Print String” node to the Event Graph of my child projectile:

My projectile moves fairly slowly, and I can watch it pass through the enemy and come out the other side. The “Print String” node does not fire, nor do the nodes I have attached to the “ActorBeginOverlap” event on the parent Event Graph.

Also, the old version was made using 4.7, while the new one is 4.8. But when I open the old one using 4.8, it still works, so I don’t think that has anything to do with it.

Does anyone have any idea what I’m missing?

Cheers.

is this static mesh is the root component of your blueprint?? if not. maybe the overlap event is not firing because your the actor begin overlap event will fired when it detect collision between the ROOT Component not the sub component

It appears to be. I added a “GetRootComponent” node to the Event Graph of my parent class, and it outputs the name of my mesh each time an instance of a child class is spawned.

I figured out what the problem was. I had the scale on the spawn transform of the projectiles set to (0,0,0). I don’t understand why the mesh was still visible, but it was causing it to not fire overlap events.