How to set different Supported Agents in UE4 / UE5?

Hello there!

I’m trying to have 2 types of Navmesh in my game because I need different Navmesh radius.

I’ve been trying to add more supported agents within the project settings, but the issue is that Unreal doesn’t switch correctly between these options.

Basically, what happens is that I can only use the Supported Agent that is in position 0, the supported agents left aren’t working.




I need help, please!

2 Likes

You say you use two navmeshes but in screenshots you only use one. I think you need to deploy second navmesh bounds volume (duplicate original and set appropriate supported agents in each)

Hi! Thanks for your comment.

In ‘project settings > navigation system > Agents’ I have setup 2 agents, 1 is just ‘LessRadius’ , the other called ‘MoreRadius’, setup for a character that can fit through tight spaces. In the level I can see both nav meshes being created correctly.

When I play the AI only uses the Default nav mesh. Disabling ‘LessRadius’ in the ‘Supported Agents’ section of the Navmesh Volume leaves only the ‘MoreRadius’ nav mesh, but playing this time the character doesn’t move, as if there was no nav mesh. I thought maybe I have to assign the agent to the character, but I can’t seem to find anything on this.

It doesn’t matter if I create 2 or 20 navmesh and select different options, in the moment I uncheck the “LessRadiud” (or option [0]) there won’t be navmesh anymore.

It’s easy to try if you have any project created and create 2 navigation agents and place a navmesh.

Do you set proper Agent radius in Character Movement Component? It needs to match one of the supported agents you defined in Project Settings.

Forget about the characters that go in the NavMesh in runtime.

Imagine you are just in the editor, if you uncheck the first Supported Agent the rest won’t be working, the editor literally doesn’t even show the navmesh surface printed.
I am starting to think that this is an Unreal Bug.

If you check the first Supported Agent the only one visible (and working) is that one.

No matter how many Supported Agents you have, the only one visible and working is the first one.

Edit: I can set whatever radius I want in the first SupportedAgent and works fine.
Even if the second Supported Agent is a copy of the first one, still not working.

Thanks btw!

“the editor literally doesn’t even show the navmesh surface printed.”
Look at the upper left corner when you are previewing navmesh. It will say which recastnavmesh it is showing to you. Notice you have two different recast meshes in Outliner. If you want to present that second navmesh you need to switch between them but i don’t remember how. Do try setting CharMoveComp radius though even if it is not showing in editor.

did you find a way ?

No, this issue persists. I assume others may handle this differently because I haven’t been able to find the correct method for configuring various supported agents.

Are you perhaps using the detour crowd system? I learned the hard way today that CrowdManager only uses SupportedAgents[0]. If this is your problem as well then the only solution right now is to stop using the crowd system.

3 Likes

Yep, I’ve also tried that.
I have an empty project with only 2 navmeshes and a character that moves around.
When I use just one navmesh, everything works fine. However, if I use two navmeshes and define different supported agents for each of them, one of the navmeshes always stops working.

UE 5.3.2

In ouliner search ‘navm’ and you will find your navmesh and recast objects, select recast objects and check ‘Enable drawing’. In mavmesh bounds check all supported agents. Now they should show up. As for selecting agent it selects automatically an you can’t do it manually, selector choose agent that have MORE OR EQUAL radius/height than your pawn, but thats not all, there is checkbox in character ‘Update Nav Agent with Owners Collision’, try to uncheck it.
These agents look so underdeveloped, i’m trying to make manual selection. Mav be ‘Preferred nav data’ supposed to do that, but it does nothing.

Did you manage to solve the issue? Because I also have the same problem, trying to create flying AI.