In order to improve the extend ability of our maps, we load different components of the map at run time. The idea is a user can use Unity to make a map, drop it into a folder and it will be loaded.

The problem I'm facing is loading in navmeshes at run time. Before Unity 5, it was possible to give a scene a navmesh using Resources.Load and then NavMesh.Instantiate. NavMesh.Instantiate is now gone for whatever reason, and nothing seems to replace it.

Now when trying to use Object.Instantiate with a navmesh asset and instantiating an agent, I get the error "Failed to create agent because there is no valid NavMesh". Is there any known way to set a navmesh at run time anymore?

• If I remember correctly, navmeshes should be stored into levels. If instead of instantiate an object you load additive the level with the additional mesh data it should work fine. – Heisenbug Mar 8 '15 at 14:04
• Which means a scene file for each navmesh, right? I don't believe new scenes can be loaded once the game is built. – Ben Mar 9 '15 at 2:41
• yes you can stream scenes with bundles – Heisenbug Mar 9 '15 at 10:49

If you want to load navmeshes baked with different settings you can not load it additively. What you can do is bake twice in a different scene (resulting in three scenes) then delete the geometry from the scenes containing the navmeshes and load like this:

using UnityEngine;

public class NewBehaviourScript : MonoBehaviour
{

void OnGUI()
{
{