Strategy for open world additive scenes?

I have a basic understanding of Astar and have some working examples with my character controllers and simple AI. All works great.

What I’m not clear on is how to approach linking graphs between scenes that are loaded at runtime (world streaming).

Each scene is for example a 1k terrain with buildings, new AI characters etc.

If the player is inside 1k of terrain, then a ring of terrain is loaded around them but culled outside the camera view so there may be 6 tiles of 1k terrains loaded.

One scenario would be the player is on tile A, and some AI is near the edge of tile B and C where they detect the player and need to chase them onto tile A. Or follow the player onto tile D, E etc.

Based on what I’ve learned about Astar so far, should I be looking into procedurel graphs around the player and/or AI? Or having a graph on each loaded tile (which are all in their own scenes loaded additive) and use Link2 to stitch them together?

Or is there a better way to handle this? I didn’t see anything specifically about this type of large world/streamed scene scenario in the docs.

I’m primarily looking at Astar for this because I couldn’t find an effective way to handle this with unity navmesh and off links.

Thanks

Found another thread that talks about a similar scenario, using tilehandler and the at-the-time beta but is dated back to December 2014.

Is this the recommended way to handle it? I’m assuming something newer/better exists.

Hi

I would actually recommend not stitching them together.

  1. If you can, just keep the whole world’s navmesh loaded at the same time. Even though the whole world is not loaded, the navmesh could be.
  2. Otherwise I would recommend generating one grid of large navmesh chunks (each chunk is a graph that you save to a file) and another chunk grid which is just offset by half the width of a tile in each direction. This means that you can always just have a single graph loaded at a time which simplifies things a lot.