アセットバンドル更新時の削除


以前ここで書いたキャッシュファイルの削除について実際に、アセットバンドルを更新することがあったので具体的な補足。

AssetBundleManagerを使っているとアセットバンドルを更新すると自動的に新たなアセットバンドルをDLしてくれる。
ただし、以前のアセットバンドルが削除されるわけではなくて、別のアセットバンドルとして保存される。
でも、本当は以前のものは使わないので削除してほしい、、、
こちらのサイトでも言及されているけど、アセットバンドルを削除するのはすこし厄介なので、maximumAvailableDiskSpaceを設定した方が簡単。
以下の行程で挙動を確認し最大キャッシュ容量を設定し、以前のアセットバンドルが消えることを確認した。

  • (macだと)/Users/(USER_NAME)/Library/Caches/Unity/を開いておく
  • ULされたアセットバンドルをUnityEditorにてDL
  • 開いたフォルダの/(CompanyName)__(ProductName)/以下にアセットバンドル数分フォルダが作られる(フォルダ名はアセットバンドルのハッシュ名)
  • 新しいアセットバンドルを作って別のURLへULし、UnityEditorにてDLさせる(別のURLでもいいけど、あとで使うので)
  • macに新たなフォルダができている(古いのが消えてない!)
  • 新しいフォルダのサイズを確認し、それに余裕をもたせた値をCaching.maximumAvailableDiskSpaceに設定(単位はByte)
  • アセットバンドルをすべて削除(フォルダごと削除か、Caching.CleanCache()にて削除)
  • 改めて古いアセットバンドルをDL
  • アセットバンドルのURLを変え、新しいアセットバンドルをDL
  • 古いアセットバンドルが消える => OK!

コメントを残す