Version: 2017.3
AssetBundle Manager
トラブルシューティング

アセットバンドルにパッチを適用する

AssetBundle (アセットバンドル) へのパッチの適用は簡単で、新規アセットバンドルをダウンロードして既存のものと置き換えるだけです。キャッシュされたアセットバンドルの管理に WWW.LoadFromCacheOrDownloadUnityWebRequest を使用している場合は、選択した API に各種バージョンパラメーターをパスすることで、新しいアセットバンドルのダウンロードがトリガーされます。

パッチ適用のシステムにおいて、より難しい問題は、置き換えるべきアセットバンドルの特定です。パッチシステムは次の 2 種類の情報のリストを必要とします。

  • 現在ダウンロード済のアセットバンドルおよびそのバージョン情報のリスト
  • サーバー上のアセットバンドルおよびそのバージョン情報のリスト

パッチャーは、サーバー側のアセットバンドルのリストをダウンロードし、アセットバンドルのリストを照合する必要があります。欠落したアセットバンドルやバージョン情報が変わったアセットバンドルは、再ダウンロードされる必要があります。

アセットバンドルへの変更を検知するカスタムのシステムを書くことも可能です。独自のシステムを書く場合、開発者の大部分は、アセットバンドルのファイルリストには JSON などの業界標準のデータ形式を使用し、チェックサムの計算には MD5 などの標準 C# クラスを使用しています。

Unity がビルドするアセットバンドルのデータは、決定的なアルゴリズムで整理されています。それによって、カスタムダウンローダーを持つアプリケーションにも差分パッチ適用が可能になります。

Unity は差分パッチ適用のためのビルトインの仕組みは提供していません。またビルトインのキャッシングシステムを使用している場合は WWW.LoadFromCacheOrDownloadUnityWebRequest も差分パッチの適用を行いません。差分パッチ適用が必要な場合は、カスタムダウンローダーを書く必要があります。


  • <span class=“page-edit”>2017–05–15 <!– include IncludeTextNewPageNoEdit –></span>
AssetBundle Manager
トラブルシューティング
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961