NavMesh Doesn't Work Properly When Level Is Stream Loaded Rather Than Opened

I’m wondering if anybody else has had this issue.

I’ve basically stopped using the “Open Level” function to open a level from the main menu directly, and have now started using a persistent level that opens a loading screen until the main level is open. Ex: Instead of Main Menu → OpenLevel(World1), I use Main Menu → OpenLevel(World1_P) (OpensLevel(LoadLevel), StreamLoad(World1)). This works fine and gives my game a more legit loading screen, but it seems like its completely broken all my NavMeshes in the game.

I have simplified it down to 1 Nav and 1 Enemy, but I just keep getting failure with the AIMoveTo function. When I open World1 normally, everything works perfectly and as intended. But when I use LoadStreamLevelByName, it just breaks the NavMesh. I’ve tried deleting the mesh, restarting the engine, remaking the mesh and then rebuilding the levels, but it still fails to find my character.

I’ve tested to see if somehow my character is simply being left at spawn in some magical way by using another AI I built that uses math to find the character rather than a mesh and it works just fine. I’ve checked to see if the original AI is stuck in the floor somehow and that also doesn’t seem to be the issue.

Am I just misunderstanding the LoadStreamLevel function as a whole?

TLDR; LoadStreamLevel function causes my AIMoveTo functions to no longer work.