I\'m trying build a method which returns the shortest path from one node to another in an unweighted graph. I considered the use of Dijkstra\'s but this seems a bit overkil
Every time through your loop, you call
directions.Add(current);
Instead, you should move that to a place where you really know you want that entry.