【Unity】 “Enter Play Mode Options” でEditor 再生開始を早くする

2020/10/10DEVELOP, Unity

Unity では Editor を再生する際に主にスクリプトの状態のリセットと、シーンの再ロードを行います。これによって都度クリアな状態で再生開始できるためゴミが残らずに済みます。しかし一方でEditor の再生が遅いといったデメリットがあります。そこで解決のヒントとなるのが “Enter Play Mode Options" です。

https://blogs.unity3d.com/jp/2019/11/05/enter-play-mode-faster-in-unity-2019-3/

“Enter Play Mode Options" を有効にするとスクリプトの状態やシーンの状態をリセットせずに再生することになりその分再生開始が早くなります。

目次

設定手順

Edit → Project Settings → Editor → Enter Play Mode Options を有効にします。

シーンのリセットだけは有効にしたり、スクリプトのリセットだけは有効にしたりと一部だけを適用することも可能です。

検証

制作中のシンプルな3Dゲームの開始シーンで計測してみました。

通常時

起動まで約4秒かかっているシーン。

何も考えずに安全なのですが、再生を都度これだけ待つことになります。プロジェクトの規模によってはもっと長い。

Enter Play Mode Options 有効時

シーンのリセットもスクリプトのリセットもOFF。1秒程度。

気を付けること

  • Unityに初期化周りを任せていると恐らく2度目の再生で同じ様に動作しません。
  • 初期化処理を徹底する。Start関数などは普通に呼ばれます。
  • static な変数は極力使用しない。これも初期化漏れに起因する。
  • シーンのGameObject はオブジェクト管理クラスに管理して独自に破棄処理を呼ぶ様に頑張る。

この辺りができて初めてEditor 再生の高速化が実現します。

Posted by kazupon