Делаешь свою сетку, только не округляй WGS84 получишь фигню, либо это тот же меркатор в котором отображаешь карту, либо H3. Проводишь эксперименты, чтобы найти баланс между выглядит жутко / весит до фига. База вообще пофиг какая.
Потому что yield return new WaitForSeconds(0.5f); должен участвовать только в корутинах. А в голом апдейте надо запоминать время (класс Time) нажатия и проверять когда уже прошло нужное количество секунд.
Алгоритм проверка нахождения точки в полигоне даже на вики описан. Зачем тут картографический сервис вообще не понятно. Но даже у них такие методы есть, естественно конструктор тут как бы не пре делах.
Шейдеры по большей части это числа, математика и хаки. ShaderGraph это конечно удобно, но если ты не понимаешь что происходит за нодами, то дальше перекраски дело особо не пойдёт.
И вообще последнее время модно-молодёжно становится использование compute shaders