Unityで再生ボタンを押してから、ゲームが動き出すまでに数秒待つことがあります。
再読み込みが待ち時間の原因なら、Enter Play Mode Settingsの変更で短縮できる場合があります。
効果はプロジェクトで測定してください。
- 場所:Edit > Project Settings > Editor の Enter Play Mode Settings
- 選択肢は4つ。両方を再読み込み、シーンのみ、ドメインのみ、どちらも再読み込みしない設定
- Unity 6.6の初期状態はReload Scene only。ドメインは再読み込みしない
- 省略する処理によって、static変数・イベント購読や非シリアライズフィールドが再生間で残る
Unity 6.6の公式資料を2026年10月26日に再照合しています。
今回、Editorでの再現や時間計測は行っていません。
画面の名前は英語版の表記です。
ドメインの再読み込みは、スクリプトの実行状態を初期化する処理です。
static変数は、個々のオブジェクトではなく型で共有する値を指します。
待ち時間の正体
再生開始時の待ち時間には、設定で有効にしたドメインとシーンの再読み込みが含まれます。
Unity 6.6の初期設定ではシーンだけを再読み込みします。
両方を再読み込みすると、アプリ起動時に近い状態へ戻す処理が行われます。
ただしEditorとビルドの動作が完全に同一になるわけではありません。
プロジェクトが大きくなると、この処理に時間がかかります。
設定する場所
- メニューの Edit > Project Settings を開く
- 左のリストから Editor を選ぶ
- Enter Play Mode Settings 内の When entering Play Mode で、再読み込みの範囲を選ぶ
項目の細かい見た目は、Unityのバージョンで変わることがあります。
4つの選択肢
| 選択肢 | 意味 | 速さ |
|---|---|---|
| Reload Domain and Scene | 両方を読み込み直す | 状態の再初期化を含めて確認 |
| Reload Scene only | ドメインの再読み込みを切る。シーンは読み込み直す | 省略する処理の分を短縮できる場合がある |
| Reload Domain only | シーンの再読み込みを切る。ドメインは読み込み直す | 省略する処理の分を短縮できる場合がある |
| Do not reload Domain or Scene | どちらも切る | 両処理を省略。実際の効果は要計測 |
切ったときの注意
公式のマニュアルは、速さと引き換えに、再生の再現性が下がると説明しています。
- ドメインの再読み込みを切ると、static変数とイベントハンドラが、再生と再生のあいだで残る
- シーンの再読み込みを切ると既存オブジェクトの再生成が省略され、非シリアライズフィールドなどが残る場合がある。シーンの変更内容をすべて保持する設定ではない
- 前回の再生の値が残ったまま次が始まり、ビルドと動きが違って見えることがある
ドメインを再読み込みしない場合は、再生ごとにリセットすべきstatic変数とイベント購読を管理します。
Unity 6.6公式資料には、手動の初期化やAutoStaticsCleanup属性による方法があるので、使用する版の手順を確認してください。
その具体的な書き方と、実際に何秒縮むかは、この記事では確認していません。
編集モードでも動くExecuteAlwaysなどのスクリプトは、停止後にも状態を書き換える場合があります。
その場合は、再生終了時のリセットだけに頼らず、再生開始時の状態も初期化します。
シーンの再読み込みを省略すると、これらのスクリプトではAwakeやOnDestroyが呼ばれません。
非シリアライズフィールドは、Unityが保存・復元する対象に含まれない値です。
ドメインの再読み込みを省略する場合も、この値が残ることを公式資料は説明しています。
使い分けの目安
- 開発中は状態の初期化と連続再生の動作を確認し、設定ごとの待ち時間を比較する
- 起動処理を確認する場合はReload Domain and Sceneも試し、実際のビルドでも確認する
- static変数を多く使うプロジェクトは、切る前に影響を確認する
設定前後を比較する手順
- 変更前の選択値とUnityの版を控え、同じシーン・同じ操作で再生と停止を繰り返す。
- 再生ボタンを押してから操作できるまでの時間と、開始時のカウンター値やイベントの反応回数を記録する。
- 再読み込みの組み合わせを1つ変え、同じ条件で再生と停止を繰り返して比較する。
- 2回目以降だけ値や反応回数が増える場合は、staticの初期化やイベント購読の解除を調べる。
- 挙動が変わったら控えた設定へ戻し、再読み込みを省略した影響かを切り分ける。
これは読者が確認するための比較手順であり、本記事で測定した結果ではありません。
Unity 6.6の初期設定に戻すだけでは、ドメインの再読み込みは有効になりません。
パソコンの性能が原因で遅いこともあります。
関連記事:Unity開発のパソコンの目安
まとめ
- 設定は Edit > Project Settings > Editor の Enter Play Mode Settings
- ドメインとシーンの再読み込みを、別々に切れる
- 省略する処理の影響を調べ、static変数・イベント購読・非シリアライズ状態を管理する
- 初期設定と両方を再読み込みする設定を区別し、実際のビルドでも確認する
参考:Unity 6.6公式のPlay Mode設定、Domain Reload、Scene Reload。
