It is very frustrating not being able to control which parts can obstruct paths in the built-in pathfinding implementation.
There are many situations where developers would want to only perform pathfinding with a limited subset of parts – however instead they need to resort to hacky and time-consuming alternatives such as making a pathfinding-only clone of the map or showing obstructing objects client-side only while the server is doing the pathfinding. In one of my current projects, it seems that it is impossible to effectively solve this problem without literally rewriting the entire pathfinding system.
Some sort of blacklist and whitelist functionality would be instrumental to making pathfinding more useful, and would significantly reduce workload in systems that require this functionality.
Running into issues with this as well, not being able to ignore certain objects makes it extremely difficult to use pathfinding service with custom npcs. Would definitely appreciate if we could add objects to an ignore list for pathfinding.
Boosting this, being able to provide the pathfinding API with a blacklist or even a whitelist is a completely necessary addition for games with a lot of detail in their environments. Currently my NPCs would not be able to navigate a single one of my indoor environments without being able to blacklist certain parts.
>tries to pathfind
>path starts at character’s position because that’s the logical normal thing to do
>pathfind fails because the pathfind starts inside the character
ok cool. very useful behavior.
Also starting a pathfinding mid-air is not working either , so that can’t be a solution…
Can’t you just change it to an attachment at the feet (because the feet are the ones actually walking) and/or then have a volume encompassing the character with a PathfindingModifier with PassThrough enabled?
Just tried this with my custom rig. Doesn’t work. Even if you anchor the part like the docs ask you to then have the part with the modifier follow you around, it doesn’t work.
It’s working fine for me, with both a custom rig and a custom character controller. Did you make sure to add a PassThroughPathfindingModifier on your rig if you’re not using a Humanoid?
WithoutPathfindingModifier on the door:
WithPathfindingModifier on the door with PassThrough enabled:
Yeah, I put that in the rig (not using Humanoid) also and tried putting it in a part attached to the rig that encompasses it. PassThrough was enabled. Still didn’t do anything.
If you are confident you are doing nothing wrong, then you can report this as a bug. PassThrough should make pathfinding assume that everything inside the volume has no collision. You can enable the Show Navigation Mesh and Show Navigation Labels in Studio Settings under Studio to make sure the Modifier is being applied properly.
When researching this sort of thing before I definitely remember people talking about PassThrough as something that doesn’t work properly. Unfortunately I don’t remember the post now talking about it, though if I find it again maybe I’ll post it here for some context. I had the same trouble, I tried using PassThrough but realized it wasn’t fit for my case for some unusual/unknown reason