はじめに
この記事は大規模プロジェクトにおいて、UnityをアクティブにするたびにUnityが数秒固まるのがイラッとするなぁと思っている方向けの記事です。
ソーシャルゲームの運営型のタイトルの開発などでアセットが数十万を超えるようなプロジェクトにおいては、UnityをアクティブにするたびにUnityが数秒固まるという減少が発生する場合があります。
しかし、パラメータの調整などの作業を行う場合にはExcelやスプレッドシートと、Unityを行ったり来たりする場合が多く、数秒とはいえそのたびにUnityが固まるのは地味にストレス、かつ時間の無駄となります。
本記事ではこれを回避する方法について記載します。
解決方法
タイトルにある通り、AutoRefreshというものをOFFにすることで、このフリーズを回避することができます。
Unityのバージョンによって「Edit > Preferences > Asset Pipeline」か「Edit > Preferences > General」にAuto Refreshの項目があります。
Asset Pipelineにある場合、下図のようなドロップダウンからDisableを選択するとAutoRefreshを無効にすることができます。

Generalにある場合は、チェックボックスのON/OFFで制御できたはずです。
変更時の注意点!!(重要)
この変更をすることでUnityをアクティブにするたびに走っていたRefreshが自動で走らなくなり、短時間のフリーズが回避されます。
※一部例外があり、完全にはなくならない場合があります。
しかし、Unity外でプロジェクト内のファイルを変更した場合には自分でRefreshを走らせる必要があります。
Unity外でファイルを変更した場合には「Ctrl + R」を押すことで手動でRefreshを走らせることができます。
バージョン管理ツールなどで最新に更新した場合などでは、このようにRefreshを手動で走らせないと、変更が反映されませんので、設定変更した場合にはくれぐれのご注意ください。
再生前にCtrl + Rを押す癖をつけるか、PlayMode変更時にRefreshを走らせるScriptを実装するなどをオススメします。
さいごに
数秒のフリーズとはいえ、一日に何十回(下手したら何百回)も止まるとかなりイライラするものです。
本記事が誰かのお役に立てば幸いです。
コメント