Improving Pathfinding Quality With New Algorithm

Pass through not working For doors

1 Like

You should give a minimum repro case so it’s easier to identify and fix the bug. Seems to be working fine for me.

pathmodifiers-door.rbxl (97.1 KB)

1 Like

Yes i will report in bug reports

1 Like

I found why PathfindingLink stopped working. If you put CanTouch= false in the part where PathfindingLink is located, it stops working, if CanTouch = true it works fine.

PFLinksBroke.rbxl (61.6 KB)

5 Likes

I found the reason.

In my game it was done like this:
When the game starts, “CanTouch” on Parts is disabled by default for the server.

When a player enters, his Local Script enables “CanTouch” on all Parts for him.


After the Touch event stopped responding, I tried to enable “CanTouch” on Parts for the server. And everything worked in the studio.
But I need my first option so that the server does not see “CanTouch”
This is the error that appeared.

2 Likes

This is fantastic, I almost have no problems with the PathfindingService anymore. Thank you so much for this amazing update!

2 Likes

I would love if there was a method of PathfindingService to delete the entire navmesh so it can start over fresh. My game has multiple different maps, and so when new rounds begin and it loads in a new map, the navmesh has artifacts of the old map still until it is regenerated. Sometimes though it never gets regenerated due to the size of the maps being different so it just lingers forever. Being able to call a PathfindingService:ClearNavigationMesh() function at the start of a round would help with this and be super useful!

12 Likes

We are aware of this concern. This is something want to fix next year.

13 Likes

i think that it would be better if you make the navmesh an instance and you can add these instances to models or the workspace , make the pathfindingservice requires a navmesh to create the path from , i think this might improve the performance of the pathfindingservice and will make creators have more control over pathfinding and the navmesh , this is just me suggestion to make pathfindingservice better.

5 Likes

I would recommend to file a feature request for this. With some many comments (which we absolutely love) , its easy to miss these feature requests.

8 Likes

Amazing improvement, this has needed an update for a while so it’s cool to see you guys acknowledging the community’s complaints!

One issue I’d still love to get fixed is the JumpHeight issue, where if your character’s JumpHeight is higher or lower than the default it just won’t get accounted for. The pathfinding will still try to pathfind as if the character has a default JumpHeight.

If this could get addressed at some point that would be amazing!

4 Likes

A lot of us would love to submit our requests, but a lot of us can’t due to feature requests being locked to a select group of developers. And even when the few lucky ones do submit, it’s rare to even get 1 acknowledgement response from staff, so these announcements are generally our only to get requests out.

7 Likes

this is true not every one can submit a feature request

2 Likes

Simply doesn’t seem to work consistently. When there is an unanchored part sitting on a baseplate with PassThrough enabled in it, the NPC will still attempt to path around it.

The wiki only shows an example of an anchored part being used to indicate that parts within its bounds can be pathed through, so I’m not sure how it works with the NavMesh or how it is or isn’t supposed to be used.

All I need is a way for parts to be entirely ignored by the NavMesh (CanCollide does this) without using CanCollide.

1 Like

Hi Digital_Boy,

Thank you for reporting this issue. Could you send me a repo if you have one?

4 Likes

If you figure out how to make a feature request. Please suggest AgentJumpHeight and AgentDropHeight!

Would love if my bigger npcs knew they could jump more and if my npcs had configurable drop height so they can consider fall damage when pathing!

6 Likes

If only I could! I just sent a request to join the feature requests group

3 Likes

Pathfinding_PassThroughRepro.rbxl (54.4 KB)

There’s something I threw together. I’m guessing something about PassThrough is affecting the baseplate below, making holes in the NavMesh.

https://gyazo.com/1450f96a934e9d5285dd639de79394eb.mp4

1 Like

Hi @Digital_Boy ,

I just tried your example (with and without this feature enabled) and the waypoints are going through the parts. I just hit Run in studio. Could you please clarify if I need to do something else to repro the case you showed in the video ?.

7 Likes

No, I wasn’t doing anything different than you, I was consistently getting that same result in the video on the old algorithm.

I’m consistently getting a straight path with the new algorithm now though, Maybe it was the zig-zag issue from the old algorithm?