はじめに
きっかけになったのはこちらの記事です
Unity2018時代におけるAssetBundle問題への対処法について
記事によると、Unity2018からAddressable Assets SystemというAssetBundleを扱う新しい仕組みが追加されたのと、またAssetBundleManagerは非推奨となるため今後の開発をどうするかという内容でした。
Addressable Assets Systemとは
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
• Resourcesのシンプルさとアセットバンドルの自由度を実現
• ロードの依存関係や非同期処理を、複雑なコードを書かずに実現
• (Scriptable Build Pipelineで) ビルドやプレイモード時の動作もカスタマイズ可能に
• 開発を助けるツール類の提供
今までAssetBundleを導入するときに自前で実装していた、Assetのダウンロード処理やパスの管理、実行環境によってローカルもしくはサーバからファイルを取得するか切り替えたりする処理を、Unity公式から提供してもらえる感じでしょうか。
移行するべきか
こちらは今までAssetBundleを全く使ったことがなく、一から導入する場合には使ってもいいかもしれないですが、無理して移行はしなくてもいいかと思いました。
理由としては
・まだプレビュー版のため頻繁に更新されており、いま対応しても正式リリースされたときには仕様が変わっている可能性がある
・iOSでエラーが起きるなどのバグもあるらしく、自前で実装したときのようにコードを追えないので修正が困難
・コンテンツカタログ(今までファイルごとに分けられていたAssetBundlePathのようなもの)が一つにまとめられているため、グループで開発するときに競合が発生する可能性がある
・内部的にはResources、StreamingAssets、AssetBundleを使っているので、今までより動作が軽くなったりするわけではない
以上、Addressable Assets Systemについて調べてみた結果でした