Beta - RichAI has path but doesn't move

Unity 2022.3.5f1/BIRP
astar 4.3.84

I have 2 ways my game starts, either new game or load game. My load games seem to work fine, my new game doesn’t but I can’t spot anything that is different.

My agent is simply trying to move towards the aidestinationSetter target.
They have a path, but just don’t move.

My biggest problem is I don’t see anything in RichAI or debug that indicates what the problem is. What other tools are there to debug these types of issues? How do I get more debug info on what is wrong with an agent? I want to solve problems myself but have to keep coming to these forums because I just don’t have enough info in the editor to work with.

Agent trying to move is upper right, target is lower left:


That’s very weird. I can’t see anything wrong either.
Does anything change if you disable the GameObject and then enable it again?

No. That’s some of the first things I try to identify what might be causing the issue, the divide and conquer approach, and easy to test.

Enable disable RichAI, the game object, the behaviour tree, pretty much every other related component and, manually move the agent transform around, and other things in the scene to see if I can kickstart it back to responding. Nothing worked.

What did get it moving again was letting another normal move action happen via the behaviour tree. But that is no different than the move action already being tried.

So yes it’s weird and nothing obvious, again my point being there isn’t debug info to help identify the problem. Is there any way to turn on verbose logging or anything like that so I can try to figure out what part of the AI process isn’t working as expected? This may not be an astar problem but astar is the thing that doesn’t appear to be working.

Can you check if any script has set ai.canMove to false?
That’s the only thing I can think of.

I do have a behaivour task that sets canmove to false when my agents need to do things like cutscene animations or anything else where I don’t want astar to interfere with the AI postioning.

But my move task always sets .canmove = true during OnStart.

So while canmove is set to false, it is set back to true, and the inspector shows it enabled.

Anything that changes updatePosition?

This is happening after my opening cut scene runs which places agents inside a boat. After that they play an animation to get out of the boat and then the behaviour tree is enabled which runs the task for them to move to a location (which works), then player control is enabled. At that point the player tries to issue a command for agents to follow them, which just runs a followLeader move task. This is the point the agents don’t move.

If they do another AI related move, like starting an AI job which has move tasks etc (which works fine), then I can issue the followLeader command and it now works.

This video shows the opening sequence - https://www.youtube.com/watch?v=66seME4UStI

Outside of turning off canMove so I can place agents in specific locations, or to use root motion animations, I never do anything to update or change their transform’s position. Everything is left to the move/rotate tasks.

Hi

Can you replicate it in any of the example scenes?
Did this only start happening in a recent beta?

Don’t even know how to replicate it in any other scene. This is my main gameplay scene during normal gameplay which goes through all sorts of menus, sub-scenes, and tons of other complex stuff.
If you’re asking if normal example scenes work correctly then yes. But they are never the scenes that have issues.

Can’t say if this started after the beta, or after adding new features, the game is under rapid feature work and updates, only noticed this when I tried the “follow player” feature in game.

I’m still just looking for more debug info from astar to try and figure out where things are breaking down instead of having to dig through the astar code putting in break points and such. Are there any other debug tools to use or verbose logging to enable?

Hi

There are unfortunately no additional debugging options other than the ones you’ve already found.
I’d recommend setting a breakpoint in the FinalizeMovement method to see what movement the agent calculates.