Unity/AssetBundle/AssetBundleをサーバーから読込
提供: 初心者エンジニアの簡易メモ
サンプル
- AssetBundlesを生成する
- 例として、user.csvのアセットバンドルファイル(userとuser.manifest)を上げる。
- 以下サンプルを実行。
using UnityEngine; using UnityEngine.Networking; using System.Collections; public class SampleScene : MonoBehaviour { public static TextAsset csv; void Start() { StartCoroutine(GetAssetBundle()); } IEnumerator GetAssetBundle() { string url = "ttp://www.my-server.com/"; string assetGroupName = "usergroup"; using (UnityWebRequest uwr = UnityWebRequestAssetBundle.GetAssetBundle(url + assetGroupName)) { yield return uwr.SendWebRequest(); if (uwr.isNetworkError || uwr.isHttpError) { Debug.Log(uwr.error); } else { AssetBundle assetBundle = DownloadHandlerAssetBundle.GetContent(uwr); string assetFileName = "user"; csv = assetBundle.LoadAsset<TextAsset>(assetFileName); Debug.Log("csv.text=" + csv.text); } } } }
csv.textのところで、ファイル内のデータが、改行を含んで表示された。
既にロード済みのエラーが出る場合
以下エラーが出るとき
can't be loaded because another AssetBundle with the same files is already loaded.
既に同じファイルが、別ロジックからロードされてないか確認。