Improving Pathfinding Quality With New Algorithm

as someone who enjoys making NPCs I welcome this change with open arms.

2 Likes

They disabled it temporarily since they discovered a crash, I think.

We are in the process of cleaning up the flags to disable the feature in production. This means the feature will also be briefly disabled in Studio too. We will post an update once it is available for Studio again.

2 Likes

I wasnt using the new algorithm, but today my NPCs are acting differently than usual, They do not detect PathfindingModifier

3 Likes

why do i not have this? i cant enable it for soem reason

1 Like

It was temporarily disabled due to a crash it caused.

1 Like

We’ve identified a sporadic crash and have temporarily disabled the new Pathfinding feature during runtime. However, the feature remains available for testing in Studio, and we could use your help while we investigate!

If you encounter any specific issues or steps that lead to a crash, please share them with us in the comments so we can address the problem and re-enable the feature. Your feedback is invaluable—thank you for helping us improve!

13 Likes

Oh this is fantastic. It was so frustrating when you had something slightly off and you would just get no path at all. The partial paths are great.

3 Likes

Please stop changing stuff with ur Algorithm it was working fine why fix something that isn’t broken

1 Like

Did you read the changes? It fixes things that developers had issues with which means it did have issues and Roblox is reacting to years of bugs from Path finding in this announcement. Many developers say they have issues with path finding. The new algorithm may have issues right now but it is still in early stages.

It may have not been broken, but roblox developers wanted it to be better and so the Roblox team is now working on it.

14 Likes

Still working on a repro but it seems to crash on large maps with a lot of geometry. That combined with multiple different NPCs (like 60) which have different agent configurations.

3 Likes

with the Agent Radius at ~3.2 and a part, the new pathfinding system attempts to cut through a border next to a wedge

increasing the agent radius, although sometimes fixing it, can cause the algorithm to freak out and clump points at a waypoint

the pre update pathfinding is fine with this:

a DM to watIsInTheName been associated with this issue

5 Likes

I’m having a similar issue to this as well. Although the new pathfinding fixed a plethora of issues, it seemed to add a new set of problems such as this one. However, I’m certain Roblox staff is looking into this and a fix is underway.

2 Likes

Hi. This update broke PathfindingLink, NPCs can no longer see them. I didn’t even activate it in workspace. (PathFindingUseImprovedSearch = Default)

3 Likes

This is an interesting perspective… what is the impetus behind restricting the navmesh besides “we don’t think it’s necessary?” Is it a factor of baking, performance, complexity, or something else? It would be nice to at least know why the decision has been made to restrict the navmesh, and not just that it has based on the whims of the development team. Who is to say person A’s problematic navmesh is person B’s desired output? Exposing the navmesh functionality would help remedy these issues.

Other engines, like Source and Godot, already allow the developer to manipulate navmeshes manually via in-game editing or API calls, while others, like Unity and Unreal, allow for a more limited, albeit still manual, navmesh editing (from what I can gleam, there is currently little support in Unity for exposing the mesh itself, and Unreal requires some tweaking). I think at least somewhat exposing the navmesh or at least some useful APIs would be in the best interesting of keeping power in the hands of the developer.

3 Likes

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.

12 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.

12 Likes

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

2 Likes

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.

1 Like

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