Some feedback on using A* in a turn-based project

Here’s some things about A* that I figured out or stumbled over while using it for a turn-based game I am currently developing. This is not criticism of the project in any way. I hope that this feedback can give insights that serve to improve the usefulness of A* for turn-based games. Note that I’m a one-man indie dev with only a handful of published games, and some of these might be non-issues for larger studios with dedicated AI coders.

First, I find that A* is quite useable for turn-based games. I don’t see a good reason to replace it with something else at this time.

Second, I could not follow the manual on the turn-based utilities (Utilities for turn-based games - A* Pathfinding Project) and could not get either SingleNodeBlocker or a custom a traversal provider to work for me. I could not find a good example for doing this, either. Lack of experience on my side (I’ve only used A* in one published game before) might be the cause.

Third, for whatever reason I only stumbled upon DynamicGridObstacle during development and tried using GraphUpdateScene at first. Since it wasn’t clear to me at all when the updates happen, I littered my code with explicit Scan() calls until things worked. Now with DynamicGridObstacle on my units, everything works perfectly.
3.5 - While doing it the wrong way, I found that if multiple agents try to move at the same time and each of them calls Scan() before it does, the game stutters quite badly. Probably the cause me doing things totally wrong.

4th, bringing 2 and 3 together, I turn off/on the DynamicGridObstacle collider component when a player selects a unit or the AI selects a unit to move. It baffles me why a Seeker component would EVER consider itself blocking. I understand it’s probably due to the graph being calculated once for all agents.

5th, my solution to many problems was to write a custom mover class that inherits from AILerp. This worked really well but had a fairly steep initial learning curve. An example would’ve been great, especially one that handles callbacks. That took me a bit to figure out.

6th, the forum and the support here is absolutely brilliant. Thanks so much.