To your first category of questions, the main answer for all of this is that WP navmesh is still experimental and has not had much development on it further for a few releases. The initial work on WP navmesh support was for a basic system to be authorable and load with the WP cells. I will pass along your feedback for wanting a separate tile loading range to the rest of the team. We are planning to work further on WP navmesh support, but it will be in 5.7 or later.
I can’t speak to all of the recommendations found in the World Building guide for WP grids. It is not my area of expertise, but I would recommend asking another question about that specifically so a member of our World Creation tools team can assist you.
Now to the second list of questions:
- Is the fixed pool all allocated at startup of the application and always taking up memory?
- Yes. All of the tiles for the pool are allocated when creating the navmesh even if they are not used. This introduces some overhead as empty tiles still have memory impact, but the number of tiles is often adjusted over the project to include maximum needed as well as staying close to the “average” number of tiles in use.
- Why are you suggesting in several threads in here that this should be used for large worlds? I would expect (when this is set to false) that the navmesh allocates only as many tiles as it needs for the loaded buble for the navmesh and reusing them. So this should only go up into insane numbers if someone wants to load entire navmesh (or vast parts) at once. But if they do, and they clamp that number with fixed tile pool size, then they break their own game, because the navmesh will not be present in the places they would expect to be loaded. Do I understand this correctly?
- We recommend using using a fixed tile pool size to limit memory usage of the navmesh. This can result in missing sections of navmesh in the editor or game, but there are also warnings printed for whenever this happens. It also limits how many tiles are built/displayed in the editor when working with WP maps where loading a large section of the map could load a significant number of tiles that may not be wanted. That is why there is a reminder and warning accompanying the advice to ensure the tile hard limit is enough for the worst case scenario in the game.
- What are the downsides to shipping game with this set to false?
- There is no large scale negative. It could mean that there are times that there is more memory being dedicated to navmesh than you had budgeted for the game. Games have shipped without that being enabled, but I do not know if games using WP navmesh do not use it.
- What does the tooltip for this property mean, that it should be enabled to support streaming? I have tested the point 2 from setup above with this set to false and the streaming works. The screenshots are actually taken with this set to false.
- The tooltip includes our recommendation which is to limit the number of tiles for streaming in large world games. This prevents from going over memory budgets. It will work while being set to false, but you run the risk of having a large chunk of memory dedicated to navmesh tiles depending on how things are loaded.
-James