Can you describe how Families aren't working the way you're expecting them to? Because this is the exact use-case for Families - if they're not working how you expect, there's a good chance you're somehow mis-using them.
Agree. Families is the way to go.
Some tips:
1. the "for each" event you have at event 28 is not necessary because C2 already does a for each object when you have it on a condition like "is overlapping Monster1" in your case. Read: "Unnecessary 'For-each' loops" in https://www.scirra.com/blog/141/common- ... nd-gotchas
2. Usually when you use "every X seconds", es because you want to do something "every x seconds", then, other conditions have to be after that condition not before like the one you have at event 28. Always put conditions In words so it would make sense like "every x seconds I want to check if some object is overlapping another". In your code, collision check is being made every tick, not every x seconds.