Procedural tiled graph?

Hi everyone. Right now I’m working on a procedural game, where the game level consists of various square “Rooms” that I instantiate at startup and move around to form a certain path.
So for example, I instantiate room #1 at (0,0,0), room #2 at (20,0,0) and room #3 at (20,0,20)

Up until now what I’ve been doing is Scan the whole Recast Graph (I use Recast because sometimes the rooms have various heights the moment after generating the level. At first it was ok, but levels with 5 or more rooms take more than 30 seconds to calculate.

So I was wondering if it was possible to have each “Room” have its own precalculated and saved graph, and then load them all at certain positions (load the first graph at (0,0,0), the second at (20,0,0), etc.) in the scene at runtime.
I don’t need the graphs to be stitched together, but I do need the enemies to switch from one graph to another if they walk into another room following the player, and I need all or at least a few of the graphs to be active at the same time.
Would this be possible? And if so, how?

Seems this is a really popular use case.

It is possible, but it is very very undocumented at the moment.
This thread has some sample code: Support Forum
Basically it is using a tiled recast graph and replacing tiles with custom meshes.

I don't need the graphs to be stitched together, but I do need the enemies to switch from one graph to another if they walk into another room following the player, and I need all or at least a few of the graphs to be active at the same time.
That basically means they have to be switched together.