Hi again, I'm back with another request

I wondered if it'd be a good idea to implement a way to detect if an NPC is failing to get to their node?
"I'm using the move along path" thing with the "random" option in 3D and several NPCs use the same path. I tried having several different paths but ultimately I always end up having the same problem-- in smaller paths. NPCs regularly collide with each other, and if they do they will just keep walking into each other until the end of time.
I was thinking perhaps the game can detect after a certain amount of seconds if 2 or more NPCs aren't moving forward/ hasn't reached the node etc, then those NPCs in question stop, and are both given another random node to go to instead?
Comments
Having any character consider a pathfind as "failing" opens up something of a can of worms, because often they'll get stuck on something temporarily and classify this as having failed when they shouldn't do. It's also the case that characters will still move - albeit slightly - when they appear stuck, making it difficult to judge when a "fail" has truly occured.
What's your pathfinding method? If it's Unity Navigation, try adding on both the NavMesh Agent and NavMesh Agent Integration components to your NPCs. That will cause them to use Unity's built-in navigation movement system, and you can then also make use of Unity's NavMesh Obstacle component.
Then, giving a non-zero Pathfind update time (s) in the Settings Manager will cause NPCs to re-evaluate their pathfinding every X seconds, which - combined with the NavMesh Agent system - should give you better results.
For dynamic pathfinding, you'll have to use the Character: Move to point Action instead - you can implement a Variable: Check random number Action if you want to have them move randomly between different points .