private IEnumerator LoadBundleAsync() { while (!Caching.ready) { yield return(null); } var baseUrl = RootBundleLoader.GetBundlesUrl(); using (UnityWebRequest uwr = UnityWebRequestAssetBundle.GetAssetBundle( $"{baseUrl}/{BundleName}.unity3d", Version, 0)) { yield return(uwr.SendWebRequest()); if (uwr.isNetworkError || uwr.isHttpError) { Debug.Log(uwr.error); } else { // Get downloaded asset bundle AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(uwr); var originalAssetRequest = bundle.LoadAssetAsync <Sprite>("Original"); yield return(originalAssetRequest); var changedAssetRequest = bundle.LoadAssetAsync <Sprite>("Changed"); yield return(changedAssetRequest); OriginalRenderer.sprite = originalAssetRequest.asset as Sprite; ChangedRendrer.sprite = changedAssetRequest.asset as Sprite; bundle.Unload(false); } } }
private IEnumerator LoadBundleAsync() { var baseUrl = RootBundleLoader.GetBundlesUrl(); using (UnityWebRequest uwr = UnityWebRequestAssetBundle.GetAssetBundle( $"{baseUrl}/{BundleName}.unity3d", Version, 0)) { yield return(uwr.SendWebRequest()); if (uwr.isNetworkError || uwr.isHttpError) { Debug.Log(uwr.error); } else { // Get downloaded asset bundle var bundle = DownloadHandlerAssetBundle.GetContent(uwr); var bundleImages = GetComponentsInChildren <BundleImage>(); foreach (var bundleImage in bundleImages) { var originalAssetRequest = bundle.LoadAssetAsync <Sprite>(bundleImage.BundleName); yield return(originalAssetRequest); var image = bundleImage.GetComponent <Image>(); image.sprite = originalAssetRequest.asset as Sprite; } bundle.Unload(false); } } }