Improving Pathfinding Quality With New Algorithm

I understand the need for exposing a navmesh or navmesh API. Exposing a navmesh API, given that Roblox calculates the navmesh dynamically, is challenging. We also need to consider performance if we want to expose it as an API at runtime. Another option is to expose a static navmesh, allowing developers to edit it and then stream it in at runtime (this would mostly work for games where the navmesh is static).

I apologize if I gave the impression that a decision has been made. The team is having internal discussions, but at this point, we cannot provide a timeline. As mentioned in my above post, we are also exploring the option of exposing some useful APIs to query the navmesh. We need to ensure that whatever we expose (if we decide to) works at scale.

9 Likes

Could we have another agent parameter for setting the agent’s JumpHeight?

So the path will generate with the jump height in mind, This way. we can have NPCs use the path to jump on really high areas that it normally wouldn’t have since the JumpHeight for the path is fixed at the moment.

9 Likes

Good idea, they should replace “Agent CanJump” with “Agent JumpHeight”

1 Like

Even though I turned off the new pathfinding algorithm, the new algorithm is still running in studio.

Is there any way to turn it off in studio?

2 Likes

I’m not sure what you mean?

The Dummy has a Modifier Welded to it’s Root Part, that removes any pathfinding collision in that area, allowing the path to go straight through the yellow spinner, which also has a Modifier attached to it.

Yeah that is a workaround. That will decrease the performance if you have a lot of npcs in game.
its a part not a region modifier

FINALLY!!! FINALLY!!! OUR CRIES FOR HELP HAVE BEEN HEARD!!!

this is one of the best updates we eva got. bless you vro :pray:

1 Like

YES!! Please!! This would be so incredibly useful for my game as the map is mostly static and it would benefit me FAR more from having a static NavMesh. Adding and modifying the NavMesh manually instead of placing invisible parts with collision groups as a “workaround” to make areas unwalkable by NPCs would save me so much time and probably result in far better stability in my game. (Yes I’m aware of PathFindingModifier with costs, but these don’t always work for my use case, very rarely do they work for my specific game).

A static navmesh would not only help my game performance wise, but also just for stability, as I have frequent issues with AI’s being stuck or walking to weird areas or paths just failing all together.

5 Likes

Until yesterday, everything worked fine.
Yesterday, when I wanted to make new changes to my map, I noticed that it all stopped working.

From my observations:
The Touch event itself works correctly on single objects. But in my game, there are quite a lot of objects on the map, only more than 100 Parts are controlled by one script. There is also a second script that controls other Parts, of which there are more than 200. It was on these that everything stopped working. Perhaps this is due to the number of Parts.

Since I have a fairly large map, I always had “StreamingEnabled” enabled in the Workspace properties. And the Parts themselves, which react to touch and are controlled by the script, are nested in “Model”, and in order for them to all load at once, “ModelStreamingMode = Persistent” is enabled in the Model properties

Everything worked correctly and then stopped yesterday.

4 Likes

I have been waiting for this for years… THANK YOU ROBLOX

Will the improvements to the Pathfinding Quality with the new algorithm also apply to include other forms of NPCs beside characters to include things like pathfinding for vehicles (even if they don’t have anyone in them).

I’ve been waiting for an update like this ever since i learned about the pathfinding API.

Looks really good!

It’s not broken. Turns out that the start was colliding with the mob.
But even so why are there jump indicators in the first image?

These changes to the quality of pathfinding are very very welcome! Thank you for the hard work.

Are there any future plans, once these features are fully rolled out, for pathfinding to receive performance boosts? Pathfinding works incredibly well when there’s a limited amount of characters using it but when there’s 100+ NPC’s, it can create some problems

3 Likes

Hi , if this is happening without enabling this feature, please log a bug .

These changes should not effect touch event.

2 Likes

This is really useful! I can’t wait to finally be able to have optimal movement for game NPCs, without the strange zig-zag bug

Do path modifiers still work? The humanoids won’t use my lovely doors and are trying to path find through the wall unless I delete the doors that used to work fine with the passthrough property.

It should work. Please dm me the repro case.

1 Like