Последовательная проверка элементов списка, поиск пути
Помогите пожалйста. Пытаюсь написать алгоритм для находжения пути (размер пути не важен). Есть конечная точка возле игрока, так же есть начальная точка от куда путь начинается, и еще есть точки соединяющие начальную и конечную точку. Проблема в том что у каждой точки есть свой список (список соседей к которым можно прийти из этой точки). Пробовал создавать новый список и добавлять в него точку ее соседей, и так пока мы не дойдем до крайней точки. Но проблема такая, как сделать последовательную проверку каждого списка, то есть 1я точка 1й сосед (и если есть его сосед, и тд.), после когда дошли до конца, 1я точка 2й сосед и тд. пока не придем к конечной точке. Пытался через IEnumerator, особо дельного ничего не получилось. пройденные точки учитывал, что бы не добавлять их повторно.