TLDR - I'm trying to disable a building's ability when another building is built on top of it. I don't know the best way to do this. I described how I tried to solve the issue (see below)
So, here's what I'm trying to do:
1. I have a building called a Power Node. They're pre-placed on the map, and players have to build buildings on them via the Built On field in the units core data record. This already works, but I haven't figured out how to make the Node disappear when built on, like Vespene Geysers do.
2. Power Nodes provide Energy to nearby units. This already works, too.
3. Here's where I need help: I want Power Nodes to stop gaining energy and have their energy share ability disabled when they're Built On.
What I've tried to do is to create a Behavior that disables the energy share and energy regeneration of Power Nodes, and use a validator: disable that disables this if no friendly buildings are detected in a 1 range of the Power Node. I think that either I have made a mistake with the validator, or perhaps that the Validator's search effect only starts 'outside' of the unit, so it can't search for a unit that's directly on top of it.
TLDR - I'm trying to disable a building's ability when another building is built on top of it. I don't know the best way to do this. I described how I tried to solve the issue.
Maybe do the opposite - have the buildings with hidden search effect that applies a behavior removing the energy share and energy regeneration of nodes?
Then if the building is destroyed, have it apply the energy behavior in a small search area back to power node as a fatal damage response?
Your way of doing it seems right, there might be some small bug somewhere, maybe with the target fields (source/caster/target etc.) of either search effect or something. Or try checking one of the flags in the search area (like "extend by unit radius").