Topdown 2D - hiding indoor areas when outdoors and vice-versa

Godot Version

4.3

Question

I am developing a 2D top down game and currently working on buildings with seamless entering/exiting. Because of this I would like that either the outdoors are black or very dark when entering a building or at the very least all NPCs are invisible while the player is inside the building.

The only solution coming to mind is to trigger visibility of entities I want to hide/show using Area2D’s get_overlapping_bodies(), like for example, if player is inside the area polygon then check rest of bodies inside and show them.