Учебный ролик:
Скрипт, который запакует наши бандлы:
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());
}
}