Spawn Enemies near player but NOT in safe zone (Essentially a safe house)

I have an understanding on how to spawn enemies within a certain area using a volume, however I want to achieve an effect where the player has a safe area where enemies will not spawn and cannot enter. When the player leaves this zone enemies will constantly spawn near them and attack them, this will then stop and all enemies will get killed when the player enters the safe area again.

I am currently thinking that the thing that spawns enemies would be attached to the player, and when the player ends overlap with a collision sphere in the safe house it would then start spawning enemies. However if the player is stood next to the safe house it will spawn enemies inside it.

How do I tell the spawns to not spawn within that certain area?

I am creating the game in blueprint

Thanks!

Why not just put 4 of your spawn volumes around the house, just not in the house?

I would change the state the AI is in when the area is entered. So that they don’t go running into walls and shooting up the safe area.

As far as spawning or not spawning. If you are already using volumes, then its like suggested above.
if not, you could reverse the approach and make it so that things will spawn when outside of this safe area. It may be less work…

Thank you for the advice so far, my problem is I want enemies to spawn constantly while the player is outside the safe zone, to do this with individual spawn volumes would require placing them to cover every square inch of the map other than safe zones. I was trying to find a way to go about this without doing that as it feels very resource intensive, however if that is the best way to go about it then so be it.

My “solution” was to attach the spawn volume to the player instead, so it follows you about the world, and only spawn enemies when not overlapping the safe zone collision. however this means the player can stand next to the safe zone and have enemies spawn inside it, as they are technically not in a safe zone.

Sorry if I worded the question badly xd once again appreciate the help so far