Problems with setting up a winstate for a tower defense game

Is there a reason that this needs to be done in the Level Blueprint directly? If you were to do the subtraction as part of the enemy’s list of things it does when it destroys itself, you wouldn’t need to worry about the boolean possibly not working correctly.

Since referring to a variable in the Level Blueprint from outside of the Level Blueprint isn’t always a possibility, it may be best to put the int that stores the number of enemies remaining in the Player Controller or in a Player State.

On top of all that, be sure to try debugging your blueprint by watching it as you play to see if the functions for deducting the amount are being called at the right time, maybe the issue in the logic is somewhere that you’re not expecting.