Quantcast
Channel: Questions in topic: "assetbundles"
Viewing all articles
Browse latest Browse all 312

How do I have multiple UnityWebRequests in one coroutine?

$
0
0
I have a DLC scenario in my mobile app. It's one download button that will retrieve 2 asset bundles from HTTP links. I've set up an IEnumerator that goes through a UnityWebRequest, gets the asset bundle, stores it, and then disposes itself. The coroutine gets to line 77 where the second UWR should start, and I get this error message: ---------- "InvalidOperationException: Cannot get content from an unfinished UnityWebRequest object" ---------- So, what's going on here? I check to see if the UWR's Download Handler is finished and then dispose of both the handler and the UWR itself. So why am I getting an error message saying that there's an unfinished UWR object? I'm missing something here... Thanks for the help! Here's my code: ---------- #elif UNITY_IOS || Unity_Editor using (UnityWebRequest uwr = UnityWebRequestAssetBundle.GetAssetBundle(myaamiakiAssets)) { Debug.Log("Downloading audio assets."); yield return uwr.SendWebRequest(); if (uwr.isNetworkError || uwr.isHttpError) { Debug.Log(uwr.error); downloadButton.SetActive(true); downloadingIcon.SetActive(false); yield break; } else { // Get downloaded asset bundle AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(uwr); downloadingIcon.SetActive(true); downloadButton.SetActive(false); if (uwr.downloadHandler.isDone) { Debug.Log("Audio assets downloaded."); bundleStorage.myaamiakiAssets = bundle; uwr.downloadHandler.Dispose(); uwr.Dispose(); } } } using (UnityWebRequest uwr = UnityWebRequestAssetBundle.GetAssetBundle(myaamiakiScene)) { Debug.Log("Downloading scene asset."); if (uwr.isNetworkError || uwr.isHttpError) { Debug.Log(uwr.error); downloadButton.SetActive(true); downloadingIcon.SetActive(false); yield break; } else { // Get downloaded asset bundle AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(uwr); downloadingIcon.SetActive(true); downloadButton.SetActive(false); if (uwr.downloadHandler.isDone) { Debug.Log("Scene asset downloaded."); bundleStorage.myaamiakiScene = bundle; StartCoroutine(MyaamiakiLoadAndStore()); downloadingIcon.SetActive(false); startButton.SetActive(true); //save asset locations metaSaver.SaveGame(); yield break; } } } #endif

Viewing all articles
Browse latest Browse all 312

Trending Articles