---
title: シーン リロードが無効な状態で再生モードに入る
product: Unity Editor
version: '6000.0'
latest_version: '7000.0'
status: This page documents version 6000.0. The latest version is 7000.0.
canonical: https://docs.unity.com/ja-jp/engine/6000.0/manual/scripting/compilation-and-code-reload/code-reloading-editor/scene-reloading
latest_url: https://docs.unity.com/ja-jp/engine/7000.0/manual/scripting/compilation-and-code-reload/code-reloading-editor/scene-reloading.md
generated_at: 2026-11-14T04:44:36.880Z
locale: ja-jp
---

# シーン リロードが無効な状態で再生モードに入る

> Enter 再生モードでシーンのリロードを無効にするとアプリケーションにどのような影響があり、コードでこれらの影響を補うことができるかを理解します。

再生モード開始時のシーン リロードはデフォルトでイネーブルです。つまり、再生モードに入ると、Unity は既存のシーンGameObjectsオブジェクトをすべて破棄し、ディスクからシーンを再ロードします。プロジェクトが複雑になると、再生ボタンを押してからシーンがエディタに完全に読み込まれるまでの時間が長くなります。

シーンの再ロードを使用不可にすると、処理にかかる時間が短縮されます。ディスクからシーンを再ロードする代わりに、Unity はシーンの変更内容のみをリセットする。Unity は、シーンがロードされたばかりの場合と同じ[イベント関数](/engine/6000.0/manual/scripting/object-oriented-development/managing-update-order/event-functions.md) (`OnEnable`、`OnDisable`、`OnDestroy` など) を呼び出します。

## 再生モードに入るときのシーンリロードの無効化の影響##effects-of-disabling-scene-reload-when-entering-play-mode

[シーンリロード](/engine/6000.0/manual/scripting/compilation-and-code-reload/code-reloading-editor/configurable-enter-play-mode.md#configure-play-mode)を使用不可にすると、エディターでのアプリケーションの開始時間が、ビルドバージョンでの起動時間ではなくなります。プロジェクトの起動時に発生することを正確にデバッグまたはプロファイルする場合は、シーンの再ロードを有効にして、アプリケーションのビルドバージョンで発生する true の読み込み時間とプロセスをより正確に表す必要があります。

そうしないと、シーンリロードを無効にしてもプロジェクトへの影響は最小限に抑えられます。ただし、シーンのリロードはドメインリロードと密接に関連しているため、いくつかの重要な違いがあります。

* Unity は既存のオブジェクトやコールコンストラクターを再作成しません。つまり、編集モードに戻ったときに再生モード中に割り当てられた値が、シリアライズされていないフィールドによって維持されます。これは、MonoBehaviour、ScriptableObject、独自のカスタム C# タイプなど、すべてのスクリプトタイプのフィールドに適用されます。異なるコンテキストでシリアライズされるものとされないものの詳細については、[シリアル化規則](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-serialization/rules.md) を参照してください。
  * > **Note:**
    >
    > `private`フィールドは、通常のビルドパイプラインの一部としてシリアライズされるのではなく、\*\*エディターの [スクリプトのホットリロード](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-serialization/how-unity-uses.md#hot-reload) の一部としてシリアライズされます。再生モードで変更した`private`フィールドが、Enter 再生モードでのシーンとドメインのリロードが無効になっていても、再生モードで元の値にリセットされる場合があるのはこのためです。
* Unity は、ドメイン リロード中に配列および`List`型の null `private`および `internal` フィールドを空の配列または `List` オブジェクトに変換し、ランタイム(エディター以外)のスクリプトでは null 以外のままにします。
* [`[ExecuteInEditMode]`](/engine/6000.0/script-reference/unityengine/executeineditmode.md)または[`[ExecuteAlways]`](/engine/6000.0/script-reference/unityengine/executealways.md)で装飾されたスクリプトは、`OnDestroy`コールまたは`Awake`コールを受信しません。編集モードでは、これらのスクリプトは独自のフィールドや他のランタイムスクリプトのフィールドを変更できます。これを軽減するには、`OnEnable` コールバックの影響を受けるフィールドを、[`EditorApplication.isPlaying`](/engine/6000.0/script-reference/unityeditor/editorapplication/isplaying.md) の値をチェックする条件内のコードで初期化します。再生モードと編集モードコードを分けることの重要性に関する詳細なコンテキストの例については、[`[ExecuteAlways]`](/engine/6000.0/script-reference/unityengine/executealways.md) API の説明 を参照してください。

シーン リロードがディセーブルでスキップされるイベントの詳細は、『 ドメインとシーン リロードのディセーブル[化の詳細](/engine/6000.0/manual/scripting/compilation-and-code-reload/code-reloading-editor/configurable-enter-play-mode-details.md) 』を参照してください。

## 追加リソース##additional-resources

* [再生モード開始時のコードリロードの設定](/engine/6000.0/manual/scripting/compilation-and-code-reload/code-reloading-editor/configurable-enter-play-mode.md)
* [ドメイン リロードが無効な状態で再生モードに入る](/engine/6000.0/manual/scripting/compilation-and-code-reload/code-reloading-editor/domain-reloading.md)
* [ドメインとシーンのリロードの無効化の詳細](/engine/6000.0/manual/scripting/compilation-and-code-reload/code-reloading-editor/configurable-enter-play-mode-details.md)
