I'm trying to roll my own GOAP system, and I've read in multiple papers that A* is the go-to pathfinding system to build a plan, but I'm having a lot of trouble seeing how it's supposed to be implemented. If I were using A* on a preconnected node graph, it would make a lot more sense: you'd just iterate through each connected node in turn, check its current score + heuristic to see which node scores the lowest, move the winner to your open list and start over with its neighbors. But with an action planner the nodes aren't connected to each other- you just have a huge list of actions with some List<KeyValuePair<int,bool>> of effects and a second list of conditions. So it seems like instead of pathfinding, you would have to brute force the route by iterating through every possible action at every step, and check if maybe this time that particular action brought your current world context closer to the target one. So am I missing something? It seems like there's no way to narrow the search, but if that's the case you're not really using A*, you're just doing tons of list traversal.