How to debug Recast graph problems

Hello! I just started using the A* Pro component recently, and was able to get going quickly and hook up my custom character controller. Pretty happy!

Just have one little problem; there’s a spot on my stairs that the Recast graph generator doesn’t seem to like, and I have a hard time getting it to connect. It ends up looking like this or similar:

I CAN get it to connect if i use some unreasonable settings, like tiles with a size of 8. But the overall grid becomes not just slow to generate (for obvious reasons) but makes awkward paths with tons of steps.

I’ve played with all the parameters quite a lot, and I’m just not sure what it doesn’t like about that particular step. Are there any tips on how I can go about debugging it?

Hmm. Curious.

Double check that there are no invisible colliders that could mess things up.
Otherwise, it should be up to the max slope and max climb settings.

If you look at the stair from above, is there a visible gap between the topmost step and the platform?

No gaps that I can see:

No extra weirdo colliders either. Boosting the slope doesn’t seem to help, I went all the way to the max with no difference. Increasing climb even to absurd levels also has no effect.

The character can pass that area as easily as any other. For awhile I had a theory that it didn’t like the upper stair railing or joining edge piece encroaching on that area, but when I get it to connect it actually connects on the right half only like so:

Uhm, I have no idea what “spamming” the community thinks I’m doing with the above, but if there’s some actual thing I can change please let me know what it is.

Hmm.
I’m not sure what could cause this.

One thing you could try is to download the beta version. In the beta, I know that a bug has been fixed which could cause oddities when surfaces were very close to overlapping along the y axis. I’m not sure if it would apply in this case, but it might be worth a try. I can’t see anything else that looks strange.

Don’t worry about the forum software. It just thought it was suspicious that you posted a lot of images. I’ve told it to leave you alone.

Long story short, the beta does appear to fix it. So, thanks!

Some notes of things I encountered installing the beta that might be of interest:

  • For some reason, installing this appears to have caused Burst to recompile other projects that use Burst, and I guess it hadn’t been doing? I had a totally different project with a Burt component that started getting compilation failures after installing the A* Beta, and they went away when I removed it. But when I looked more deeply into it, I found that the other project had moved some file in a previous update so that there were two definitions of some class. I have no clue why this wasn’t causing failures already, nor why installing your update suddenly made it notice. But I thought I should mention it to you since it appears Burst is a new feature in this version, and you might get some weird reports.

  • This version failed until I re-imported my environment mesh as Read/Write. I’m not sure if it’s intentional that this is a requirement now or not, maybe a consequence of Burst?

1 Like