IEnumerator DownloadSpriteIEnumerator(string url, string method, RequestSpriteEvent action) { var request = new UnityWebRequest(url, method); var texDl = new DownloadHandlerTexture(true); request.downloadHandler = texDl; if (action.downloadProgress != null) { StartCoroutine(DownloadProgress(request, action.downloadProgress)); } yield return(request.SendWebRequest()); Dispose(request, () => { Texture2D t = texDl.texture; action.action(Sprite.Create(t, new Rect(0, 0, t.width, t.height), Vector2.zero, 1f), texDl.data); }, action.error, action.error404, action.error500); }