Либо твой аниматор, тоже принимать и поддерживать токен отмены, либо используешь UniTask.WhenAny() вместе с таском ожидания закрытия и ждёш кто быстрей отработает.
Можно включить у текстуры билинейную интерполяцию. Но лучше конечно взять каждый пиксель и "разбить" его на четыре, пересчитав цвета для каждого из нового пикселя.
Разворачивают через трансформ, либо напрямую угол поворота, либо через отрицательный масштаб. Но всё это может породить кучу проблем, поэтому при возможности лучше отрисовать с двух сторон.
В общем случае и с плохими навыками ответ - нет. Потому что ты предлагаешь вырвать из книжки две страницы и пытаться по ним рассказать весь рассказ, а это не возможно.
Естественно при while(true) у тебя юнити зависнет, потому что код юнити не выполняется, а ждёт когда твой цикл завершиться.
Тебе не нужен никакой свой while, он у тебя уже есть от юнити, называется Update.
Что ты там в редакторе проверил вообще не понятно, гугл там точно проверить нельзя.
Для проверки делают дебажный билд (на случай если не фига не работает) и из под тестовой учётки проверяют покупки, благо они бесплатные.