I’ve been stuck on this same issue for 3 days now, I can’t see why this would not work, but lo and behold, it won’t. The tile is supposed to be destroyed once the shot impacts it. What’s wrong?
This is the projectiles blueprint.
The second screenshot is the tile’s blueprint
The last screenshot is the player character’s shooting script
Does the projectile not collide? or does the tile not break?
No, the print string returns nothing so the projectile just doesn’t collide.
Ok, so a 2d game is just 2d assets in a 3d world, meaning there is still a depth axis. I believe I was experiencing something similar in a 2d game I made and the fix was to make sure they were on the same z-axis (I think it’s z when talking about 2d games). What is the transform of that “arrow” actor you are getting vs the transform of the tile you are trying to break?
Did you try setting a breakpoint on Is Impacted Damage to make sure execution is getting there? That would help narrowing down where it’s broken. If the event never fires, you should look at your collision settings on each object.
I’m Sorry but I’m relatively new to blueprint, could you break that down slightly simpler please.
Right click on a blueprint node, select “Add Breakpoint”. This will put a red dot above that node. Now when your game runs, it will pause when the blueprint gets to this point. You can alt-tab out of your game and look at the blueprint in the state that it’s in when it pauses.
If it never pauses (i.e, execution never gets to the red dot), then you know the problem is before the red dot.
If you set a breakpoint on On Collision Begin Overlap, then you know the two actors never actually overlap, and your blueprint code might be perfectly fine, it just never gets run. You can start debugging why it doesn’t run instead. If that’s the case, check their collision settings, and make sure they’re actually overlapping.