はじめに
Unity の Addressable Asset の覚え書き。
エディタ実行での注意
Play Mode Script の設定
- Use Asset Database (fastest)
- アセットの解析やアセットバンドルを作成せずにアセットデータベースから
Resource Manager
を介して直接ロードされる
- アセットの解析やアセットバンドルを作成せずにアセットデータベースから
- Simulate Groups (advanced)
- アセットバンドルを作成せずにアセットデータベースから
Resource Manager
を介してロードされる -
Use Asset Database
とは違い、アセットの依存関係などの解析も行うためエディター実行開始時に時間がかかる - 実はエディター実行時には他のモードのどれよりも遅い
- アセットバンドルを作成せずにアセットデータベースから
- Use Existing Build (requires build groups)
- 事前にビルドされたアセットバンドルを使用する(言い換えれば事前に必ずビルドしておく必要がある)
- エディター実行では最速
- プレハブにスクリプトが含まれている場合は本体のビルドも行っておく必要がある
- これを行わないとアセットバンドルのハッシュ値が一致しない
プログラマーがエディター実行するだけなら初期段階から Use Existing Build
にしておくというのも一つの手ではあるが色々と問題はある。
- Windows 環境で iOS の Metal が利用できないので iOS をエディタで実行する場合に正常にシェーダーが機能しない
- 解決策としては、Metal を諦めて OpenGLES2/3 を利用する事で可能だがパフォーマンスを犠牲にする必要がある。
- アセットバンドルにスクリプトを含むプレハブを配置するのであればその都度アセットをビルドし適切な場所にデプロイしておく必要がある
- 解決策としては、スクリプトを含むプレハブは別のアセットグループに配置しておき、そのアセットグループの
Load Path
をLocalLoadPath
にしておき更新が必要なくなった時点でRemoteLoadPath
に切り替えるという事で可能。
- 解決策としては、スクリプトを含むプレハブは別のアセットグループに配置しておき、そのアセットグループの