Assets bundles

Учебный ролик:

Скрипт, который запакует наши бандлы:

using UnityEditor;
public class CreateAssetBundles
{
   
    [MenuItem("Assets/Build AssetBundles")]
    static void BuildAllAssetBundles()
    {
        BuildPipeline.BuildAssetBundles("Assets/AssetBundle/", BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);

    }

}

Скрипт, который загрузит и распакует бандл с файлом stal.mp3 с хостинга в проект:

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Load : MonoBehaviour
{
   
    private string bundleURL = "http://st-dvorik.ru/music.unity3d";
    private int version =0;
    [SerializeField] AudioSource audioo;
    

    IEnumerator DownloadAndCache()
    {
        while(!Caching.ready)
            yield return null;

        var www = WWW.LoadFromCacheOrDownload(bundleURL, version);
        yield return www;

        if(!string.IsNullOrEmpty(www.error))
        {
            Debug.Log(www.error);
            yield break;
        }
        Debug.Log("Бандл загружен");

        var assetBundle = www.assetBundle;
        string musicName = "stal.mp3";
    

        var musicRequest = assetBundle.LoadAssetAsync(musicName, typeof(AudioClip));
        yield return musicRequest;
        Debug.Log("музыкальный файл распакован");



        audioo.clip = musicRequest.asset as AudioClip;
        audioo.Play();
      
    }


    public void OnClickDownload()
    {
        StartCoroutine(DownloadAndCache());
    }


}