knowing what is blocking an ai move to

hi

is there a way to know what is blocking a move
i have 2 pawns that are moved by ai move to nodes / instructions
they are supposed to be able to overlap
and i see nothing wrong in their collision settings that would suggest that they will not be able to overlap
but the pawn is unable to move too close to the other pawn
the pawns are able to walk around when they are far from each other and walking away from each other (when they get close to each other)
but when they are going to cross paths the ai move to node fails
i would appreciate it if i can know better why the ai move to fails and / or which component experiences a full blocking hit if any

thanks

Can you post code of these functions? Also id check the collision settings of the actors collision primitive(default is usually capsule if it’s a character class) for example if they’re both set to world dynamic type, and set to block world dynamic they’ll trigger a hit event. You want to set it to overlap or ignore if your wanting them to walk into each other, for my game, and what id recommend, is setting up custom collision channels, for example like an enemy actor channel. This would allow for them to navigate around all other objects in the world but group up or overlap each other

1 Like

posting code would be more or less meaningless in the sense that i am simply going to paste code of ai move to nodes

as part of debugging i found that the one actor can step into / over the other actor
(pawns, the pawns are from different classes)
this does say something about collisions settings in the sense that if i am not mistaken this will not be possible if the collision settings prohibit any overlap
it is more difficult to direct the other pawn to cross the initial pawn as the other pawn is not directly under the player’s control and the other pawn is essentially supposed to flee from the initial pawn when it detects it

it seems that if the move to location is set so that it will cross the path of the initial pawn or its projection while it is walking, the ai move to node fails
if i set the direction so that it will be away from the initial pawn and does not cross its path it (ai move to) succeeds

my mind says if the initial pawn can cross the other pawn then the other pawn can cross the initial pawn or the problem is not in collision settings
it seems to be an issue of ai move to nodes projections colliding

i need to check if it is not the can step on setting that is blocking overlap although the collision settings permit overlap

the pawn is unable to move too close to the other pawn

What are the chances it has nothing to do with pawn collision per se, perhaps it’s about the navmesh not allowing the pawn to get close enough:

There’s also acceptance radius and a plethora of settings for how the agents navigate the mesh. And that’s before we start talking about avoidance. The AI Move To node gives you a rough idea of what went wrong:

Besides that, normally one would not rely on the capsule collision for proximity overlap interactions, you’d have an additional component / trace responsible for that. Also, the default behaviour looks like this:

Is the above not what you expect / experience?


i need to check if it is not the can step on setting that is blocking overlap although the collision settings permit overlap

The Can Character Step On flag has nothing to do with this. The quote ties to what I mentioned above about additional colliders. If you block, you can’t overlap - that’d be illogical. Perhaps you expect the wrong thing to manifest?

1 Like

dont think it is navmesh. it is something i can check and debug etc and i have not checked but i doubt it is that

true. that is why i think the ai move to node provides too little info on a fail

emphasis on rough. not enough in my mind. but thats me

It’s not a debug tool, but a flow control. Observer what the AI is doing:

1 Like

this is a good example
it is more or less what i experience
although the actors / pawns are not supposed to stop but walk through each other preferably
and my case is slightly different in that they dont head on collide but their paths eventually cross
and when the ai move to senses that the path crosses it aborts the move for the one pawn

nice. thanks. did not know about this (get path points)

Follow the avoidance link I dropped above. There are 2 anims here that demo it:


Besides that:

You can simply reissue the Move To whenever we hit an undesired condition.

1 Like

was just slightly weird in that in a previous case the pawns could overlap without issues
and the one pawn type can cross the other pawn type but the other struggles to cross the one (so its not vice versa)

Is this what you’re after?

seemignly not in this case
simply keeps on failing
that is why i think a kind of result similar to a hit result breakdown (as elaborate) would be more helpful

You do get a hit result from that collision.

lol

yes that is what should happen more or less
and i have managed that in the past
but in this case it does not yield
and i have checked collision settings
and one pawn can but the other cant
(replace one of your pawns with another pawn type and you are even more closer to my case)
and the move result is too thin to really help guide me

i suppose you are right and i can go and dig but i would have liked it if it were “just there”

This is just a single flag I ticked - I had Pawns overlap Pawn object type. If you need help with collision settings, show both offending actors - their component hierarchies and the root collider’s collision settings.

yes i know the flags etc
let me see what i can figure out and let me look at what you noted
seems i am not going to get away without some debugging effort

if it is not too much to ask can you perhaps list all the factors that would cause ai move to to fail
perhaps i can go down the list to double check and tick off

Not your chatGPT :stuck_out_tongue:


But seriously, there are too many factors to consider. Especially that you’ve produced nothing tangible so far. Since it works fine on defaults settings:

  • open a new project
  • have two pawns boop heads or overlap
  • compare it to the stuff you have not working in your project
1 Like