I am having an issue where streamed levels do not maintain their built navmeshes when packaged for shipping.
I have the following setup:
One level, empty except a start location
A second level, streamed into the following level and loaded by default, that contains a nav mesh bounds, and a nav mesh entity.
The project nav mesh settings are set to dynamic.
When run in editor, everything works as expected and the nav mesh entity moves according to spec. When packaged using the Unreal packaging system and a Windows target, the nav mesh entity does not move. Nav mesh works as expected when the second level is packaged as the default level and not streamed.
I have tried the following options:
Pre-cooking maps with File → Cook Content for Windows
Custom Unreal Project Launch, with maps specified for cooking and not specified for cooking
Specifying maps and folders manually for cooking in Project Settings → Packaging → Packaging → Advanced → List of maps to include in packaged build
Project Settings → Packaging → Full Rebuild, on and off
Project Settings → Navigation Mesh → Force Rebuild on Load, on and off
Creating and building the nav mesh bounds within the empty file the level is streamed into
Creating and building nav mesh bounds in both map files
None of these options have yielded results. Does anyone have idea what might be causing this, or what a possible fix is?
I have attempted to reproduce your issue, but I have been unable to do so thus far.
Here is what I did:
Created an empty level and a level containing a simple floor with a Navigation Mesh. I added a pawn that would move around randomly on the NavMesh for testing purposes.
In the main level, on Begin Play, I loaded the sub level.
It worked as expected in editor
Upon packaging the game for Windows64, I was seeing consistent behavior with PIE.
Could you provide any steps or information that I could use in attempting to reproduce your issue? What does your setup look like?
Thank you for providing the additional information. I have attempted to reproduce your issue, but have been unsuccessful using the steps you provided so far. I am going to give it another shot, but would you also mind attempting to reproduce this in a clean project? Also, give the same setup a shot in 4.10.2 or the 4.11 Preview and see if you can get the same results.
I am marking this post as resolved, as we have not heard from you in a few days. If this issue persists, feel free to respond to this thread. For any new issues, please create a new Answerhub topic.
The issue has not been resolved, but I have been unable to take time away to debug from the core project due to an approaching milestone. For now, copy-pasting levels together is suitable until such time as the scope of the level grows beyond some unknown future threshold to cause performance issues. I will hopefully be able to revisit the issue next week.
In the meantime, I will be closing the topic. When you have had a chance to attempt a repro in a clean project, please re-open the topic and provide the results.
This is also a game-breaking issue for a title we are hoping to ship soon. We are on 4.12 and using static nav mesh data, but I have also tried toggling many of the same options mentioned by Chronometrics. The problem certainly stems from streaming a level in with nav mesh data, but unfortunately we have no choice but to go this route because so many of the game mechanics in the levels directly interact with the nav system.