I switched from UE 5.2 to 5.6 — after this, enemies can’t move until the player pushes them with some ability. If I add LaunchCharacter to the enemy blueprint in BeginPlay, they start moving as well. However, it only works if I push them along XY; Z doesn’t affect them
I tried deleting the old NavMesh and generating a new one — nope. Changing the actor height to some extreme value makes it work, but then enemies start walking on walls.
Build All Levels recalculates everything: static lighting, visibility data, and navigation networks.
It’s useful when you’ve changed geometry, floor height, or migrated to a new engine version, because it forces Unreal to regenerate all world data.
Build Paths focuses only on rebuilding AI navigation routes, the paths used by AIControllers to move.
You can also try adding a small Delay before the AI MoveTo node. Sometimes that works because the NavMesh or the AIController isn’t fully initialized when the enemy tries to move on BeginPlay. The delay gives the system enough time to finish generating the navigation before executing the movement command.
If none of that works, let me know if you migrated a project from UE 5.2 to 5.6 or started a new one.
And if possible, share a bit more of your setup so I can try to reproduce it in my engine and see what might be going wrong.
Hope it helps!
I rebuilt paths and levels, and added a 2-sec delay (just to be sure) before the Move To task — didn’t help.
I slightly lifted the enemy above the ground — didn’t help.
I lifted him higher — still didn’t help.
I lifted him even higher so he fell for about a sec — and that actually worked!
So maybe the issue isn’t about timing, but height? Sounds strange to me
I want to find a solution that doesn’t involve pushing enemies off roofs to make them move and
perform tasks
* * * *
By the way, I tried Visual Logger and saw that Recast Nav Mesh UAID (UAID? what’s that?) and reports an error saying “start failed” and then “path failed.”
Interesting thing — if I move the enemy below the ground in editor, it falls on play level and starts moving
If I add a Launch Character straight up in Begin Play, it will “jump’’ after play level but won’t move after falling. But if I add some XY value to the launch vector, the enemy starts moving after falling
Ok, here’s what I found
By default, the enemy has some kind of “personal space” around him. But this space not only prevents other objects from stepping on the enemy — it also prevents the enemy from moving out of it
I fixed it by adjusting the enemy’s right and up positions (he falls :/). The problem is probably related to the Recast Nav Mesh actor or cell height
I tried tweaking those values, but they only work at extreme settings — where the enemy can step onto tall objects that he normally shouldn’t be able to
Ok, another discovery — the problem was with the mesh’s “Can Ever Affect Navigation” setting. It should be unchecked. Strange that it wasn’t a problem in 5.2. Also even if I place enemy slightly below the ground his position will be automatically adjusted to stay on ground
After that, I built the path, but the NavMesh broke, so I had to place a new one and manually adjust its to level size
Is there any way to make the NavMesh automatically cover the whole level? Dynamic NavMesh generation doesn’t help
Hi, there is a way to remove that “personal space” under a pawn/character but I don’t have access to Pc right now. It’s a checkbox in details panel in components. Try capsule component. I believe it’s called “can affect navigation”.
There is also a checkbox on navmesh itself that enables dynamic regeneration or navmesh.
When it’s enabled , the engine automatically creates and updates the navigation data ) whenever changes are detected in the level ( such as moving objects, changing collisions, or modifying the navigation volume).