スクリプト編集してUnityに戻ってきたときのプチフリーズ(コンパイル時間)がもったいない
UnityのスクリプトをVisualStudioなどで編集したときの話。
デフォルトの設定ではスクリプトを編集してUnityにもどってくると自動でコンパイルが走ります。
編集したかったスクリプトが一つの場合はこれで問題ありません。
しかし、編集したいスクリプトが複数ある場合に下記のような編集の仕方だとUnityに戻るたびにコンパイルが走ってしまいます。
・Unity でスクリプトをひらく
・外部エディタでスクリプトAを編集
・Unity に戻る(ここでコンパイルが走る)
しかも、このコンパイルの時間はスクリプトの総数が多くなると長くなります。(Assembly Definition Filesで分割していればマシになるかも?)
ということで、この問題に対する対応です。
1、スクリプトを全部編集するまでUnity に戻らない
2、UnityのAuto Refreshをオフにする
まず1ですが、単純にUnityにもどらなければいいのでVisualStudioなりエクスプローラなりで編集したいスクリプトを切り替えればいいという話です。
ちなみにVisualStudioなら「Ctrl+,」で検索バーがでるのでそこでソース名なりクラス名を打ち込めばジャンプすることができます。
2はUnityの設定を変更します。
メニューから Edit -> Preferences を選択します。
General -> Auto Refresh のチェックを外す
これでスクリプトを編集してUnityに戻ってきても自動でコンパイルが走らなくなります。
しかし、今度は手動でリフレッシュする必要があります。
Unity のリフレッシュのショートカットキーは「Ctrl + R」です。
これでだいたい解決できましたが、手動にしたことによってリフレッシュを忘れたままPlayをしてしまうという問題がでてきました。
ということで、再生前にリフレッシュをするエディタ拡張を作ってみました。
対応バージョンはUnity 2017以上です。
Editorフォルダに入れてお使い下さい。
あまり試してないですがたぶん大丈夫です。