Если захотите обернуть UnityWebRequest в UniTask, будьте внимательны, у них отличается способ обработки ошибок. UnityWebRequest всегда возвращает Result, который может быть Success или нет.
Но UniTask’и меняют этот подход и кидают Exception в случае неуспешного запроса. Это особенно неочевидно, потому что ты всё равно продолжаешь работать с классом UnityWebRequest, у которого есть поле Result. Вот только он никогда не будет ConnectionError или ProtocolError, вместо этого вылетит Exception.
Забавно почитать, что думает об этом сам разработчик UniTask. На вполне адекватный на мой взгляд вопрос, заданный кем-то, он отвечает
Treating errors as exceptions is a general idea in C#, not just async/await.
А после попытки подискутировать на эту тему, на мой вгзляд довольно непрофессионально отвечает
Your technical skills are not at the level to discuss this.
#unitask