Using 4.9.1 I’m trying to produce dynamic navmesh for a dynamic terrain system for a multiplayer game. Runtime Generation is set to Dynamic and Invokers are placed on Player Pawns, Also I added a Register Navigation Invoker after beginplay just to be sure. This works for all clients as long as I run one Server Client however in PIE if I select “Run Dedicated Server” navmesh doesn’t appear to generate and Bots aren’t navigating.
I wasn’t able to reproduce this in 4.9.1. As a test, I created a new top-down template project and gave TopDownCharacter a Navigation Invoker. I enabled NavInvoker option and set Runtime Generation to Dynamic (not Dynamic Modifiers Only) option in Project Settings. I created a simple AI that finds player and moves to it. When Playing in Editor with Dedicated Server checked, AI still moves to player.
Are there any details I’m missing? Are you able to reproduce this in a new project, or only your current project? If you can create a small test project that displays this problem, please upload it someplace like Dropbox or Google Drive and get me a download link. Thanks!
Yes, unfortunately things are a bit more complicated for me. I set up a test in ShooterGame and it does work as you described. I’m creating dynamic procedural terrain using proceduralmeshcomponent so that’s compounding issue. Navmesh is visible on Server and on Client when I activate “Allow Client Side navigation” but that is same behavior as on static meshes. What’s perplexing is that procedural mesh navigation works fine if I don’t run with a dedicated server. I did have to disable “World Bounds Checks”
It doesn’t seem to be related to Invoker, I tested this morning without it. I’ll keep digging.
Found problem. It was a bug in code carried over from Procedural Mesh Component of 4.8. in UpdateLocalBounds() function. It’s been fixed atleast in 4.9.2.
Just to be clear, I’m using both Dynamic NavMesh and ProceduralMeshes for terrain so not many people will have problem I had.