OnConstruction but calling when anything in the level changes.

I am creating something similar to a navmesh.

I have a volume in the world which spawn an UObject responsible for creating the navmesh like structure.
Basically I want to know if is there anyway to call that function when anything in the world changes?

Something like navmesh calculation works in the engine currently.

Using OnConstruction on the volume and using a boolean to start the calculation seems to work for now but i don’t feel its the best way to do it.