нужно перевести задачу на задачу поиска пути, например перемещение по плоской поверхности это узел дерева, прыжки - ребра дерева, с весом - расстояние (тебе же не самый идеальный путь нужен), строишь такое дерево, запускаешь поиск выхода из лабиринта (например поиск в ширину для нахождения кратчайшего), а затем, когда путь найден, запускаешь npc по нему, переходы между нодами, в зависимости от типа и размера этих нод делать соответственно либо движением в нужную сторону либо движением с прыжком, а момент, когда делать прыжок, это решение уравнения пересечения колайдера платформ и параболы движения в прыжке (если в прыжке есть отталкивания, их тоже в рассчет)
а вообще, при создании лабиринта, можно подсказки накидать npc, где им прыгать, вручную расставив коллайдеры, при пересечении которых (если двигается в определенную сторону) заставлять npc прыгать