Unityでスマホゲームを開発しているとよく直面するのが「iOS<>android切り替えにかかる時間が長過ぎる」という問題。スマホに限らずPC版開発でもWindowsからWebGLに切り替えたりなどする方もいると思うのですが、このプラットフォーム切り替え時の処理が寝落ちするほど長い!
この処理って何をやってるの?って話なんですが、全てのAssetを切り替え先のプラットフォームに合わせて圧縮し直しているのだそうです。従って、Assetが増えれば増えるほど、プラットフォーム切り替えに掛かる時間が増大していくというわけです。
でもこんなことで10分も20分も待ってたら開発が進まないじゃないですか。
今回はプラットフォーム切り替えを高速化する方法をUnityバージョン別に紹介します。
プラットフォーム切り替え時間を高速化する方法
Unity 2019.3 以前
Unity 2019.3 以前では、Unity本体にローカルキャッシュサーバーが搭載されています。
この設定を使うと、2回目以降はキャッシュしておいたAssetを使うことで無駄な再圧縮を行わなくなり、2回目以降のプラットフォーム切り替えが爆速になります。
1) 上部メニューから「Unity」>「Preferences」を開く
2) ダイアログ内の左部メニューから「Cache Server (global)」を選択
3) Cache Server Mode を「Local」に設定
これで完了です。
Maximum Cache Size (GB) で指定した分のディスク容量を使用しますので、HDD容量空けといてくださいね。
Unity 2019.3 以降(Unity Acceleratorを導入)
Unity 2019.3 以降から現行バージョン(2020.x)では、なんと上記の機能はなくなりました!
消えた事情を知らないので単純に消す必要あったんか?って思ってしまいますが、無いものは無いです。
そのかわり、「Unity Accelerator」をインストールすることで、プラットフォーム切り替えを爆速にすることができます。
■導入方法
1) Unity Accelerator をダウンロードする >> 🔍ダウンロードページ
なお、ページ内のこのへんにあります。
ちなみにmacでChromeを使っている場合、ダウンロードやインストールができない場合があります。
その場合OSのセキュリティに引っかかっている可能性が高いので、ググりながら突破してくださいw
2) インストール中、いくつかの設定をする必要があるので
Protocol Configuration の設定をする
3) Security Configuration の設定をする
4) Username, Password を入力する(ご自身のUnityアカウントのもの)
そのまま進めていくと……
インストール完了です。
表示されているローカルIPアドレスはUnity側の設定で使います。
■Unityの設定方法
1) 上部メニューから「Unity」>「Preferences」を開く
2) ダイアログ内の左部メニューから「Cache Server (global)」を選択
3) Cache Server Default Mode を「Enabled」に設定
4) Default IP address に先程表示されていたIPアドレスを入力
5) Check Connectionを押して「Connection successful.」と表示されればOK
写真はUnity 2020.3.2f のものです。2019.3.xだとこれより項目が多いですが、要点は同じです。
(IP消すの忘れてたけどローカルIPだから別にいいか)
導入と設定はこれで完了です。
プラットフォーム切り替えを行ってみてください。
1回目はいつも通りの遅さですが、2回目以降が爆速になります。