Merhaba Unity ile Android ve IOS için bir uygulama geliştiriyorum fakat oluşturduğum AssetBundle ı bir türlü indiremiyorum aşağıdaki kod ile indirmeye çalışıyorum aldığım hatalar şu şekilde
Dosya boyutları
IOS => 13MB
ANDRIOD => 12MB

IOS için
1 => failed to decompress data for the assetbundle 'memory'
2 => Failed to decompress data for the AssetBundle

Android için
=> Unable to write data

Create Assets Bundle dosyası

using UnityEditor;
using System.IO;
using UnityEngine;

public class CreateAssetBundles
{

    public static string assetBundleDirectory = "Assets/AssetBundles/";

    [MenuItem("Assets/Build AssetBundles")]
    static void BuildAllAssetBundles()
    {

        if (Directory.Exists(assetBundleDirectory)) Directory.Delete(assetBundleDirectory, true);
        Directory.CreateDirectory(assetBundleDirectory);

        BuildPipeline.BuildAssetBundles(assetBundleDirectory, BuildAssetBundleOptions.None, BuildTarget.iOS);
        AppendPlatformToFileName("IOS");
        Debug.Log("IOS bundle created...");

        BuildPipeline.BuildAssetBundles(assetBundleDirectory, BuildAssetBundleOptions.None, BuildTarget.Android);
        AppendPlatformToFileName("ANDROID");
        Debug.Log("Android bundle created...");

        RemoveSpacesInFileNames();

        AssetDatabase.Refresh();
        Debug.Log("Process complete!");
    }

    static void RemoveSpacesInFileNames()
    {
        foreach (string path in Directory.GetFiles(assetBundleDirectory))
        {
            string oldName = path;
            string newName = path.Replace(' ', '-');
            File.Move(oldName, newName);
        }
    }

    static void AppendPlatformToFileName(string platform)
    {
        foreach (string path in Directory.GetFiles(assetBundleDirectory))
        {
            string[] files = path.Split('/');
            string fileName = files[files.Length - 1];

            if (fileName.Contains(".") || fileName.Contains("Bundle")) File.Delete(path);
            else if (!fileName.Contains("-"))
            {
                FileInfo info = new FileInfo(path);
                info.MoveTo(path + "-" + platform);
            }
        }
    }
}
Download ederken şu şekilde

private IEnumerator DownloadAssetBundle()
    {
        GameObject go = null;
        string url = QRCodeRender.getResult.Text + "-";

#if UNITY_ANDROID
        url += "ANDROID";
#else
        url += "IOS";
#endif       

        using (UnityWebRequest www = UnityWebRequestAssetBundle.GetAssetBundle(url))
        {
            yield return www.SendWebRequest();
            if (www.result == UnityWebRequest.Result.ConnectionError || www.result == UnityWebRequest.Result.ProtocolError)
            {
                yazi.text = "Error on the get request at : " + url + " " + www.error;
            }
            else
            {
                AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(www);
                if (bundle != null)
                {
                    go = (GameObject)bundle.LoadAsset(bundle.GetAllAssetNames()[0]);
                    bundle.Unload(false);
                    yazi.text = "Başarılı";
                    objPrefab = go;
                }
                else yazi.text = "Geçerli bir öğe paketi değil";

                yield return new WaitForEndOfFrame();
            }
            www.Dispose();
        }
    }