# コンパイルとコードリロード

> How Unity transforms the code you write into code that runs, and the implications for development iteration times and your application's runtime behavior.

記述したコードは、コンパイルによってコードに変換され、特定のプラットフォームの特定のコンテキストで実行されます。Unity エディターで作業するとき、Unity がコードを再コンパイルおよびリロードする可能性があるシナリオがいくつかあります。設定およびコードの場所によっては、エディターの初回起動、コードの変更、スクリプトアセットの再インポート、再生モードの開始がすべて、コードのリロードをトリガーする可能性があります。

コードをリロードすることは、コンテキストの切り替え時にデータを保持し、関連する変更を確実に有効にするための重要な方法ですが、開発のイテレーション時間に悪影響を及ぼす可能性があります。Unity がいつ、なぜ、どのような方法でコードをコンパイルしてリロードするのか、また、この動作をどのように設定できるのかを理解することが重要です。さらに、Unity がコンパイル済みコードのさまざまな部分の実行にどのように優先順位を付け、意図した順序で実行できるようにするかを理解することも重要です。

| **トピック**                                                                                                      | **説明**                                                                                            |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| [スクリプトのコンパイル](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-compilation.md)              | Unity がスクリプトをコンパイルする方法と順序、およびスクリプトをアセンブリにまとめる方法。                                                  |
| [スクリプティングバックエンド](/engine/6000.0/manual/scripting/compilation-and-code-reload/backends.md)                     | スクリプトのコンパイルと実行のために、Unity が提供するさまざまなオプション。                                                         |
| [Unity エディターでのコードのリロード](/engine/6000.0/manual/scripting/compilation-and-code-reload/code-reloading-editor.md) | Unity がスクリプトコードをリロードするタイミングと方法、およびそれがアプリケーションのパフォーマンスに与える影響。                                      |
| [スクリプトのシリアル化](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-serialization.md)            | スクリプト化したデータ構造とオブジェクトの状態を Unity が後からストレージや再構築のためにシリアル形式に変換する方法、およびそれがアプリケーションのパフォーマンスに与える影響に関する詳細。 |
| [サードパーティ製のコードライブラリ (プラグイン) の統合](/engine/6000.0/manual/scripting/compilation-and-code-reload/plug-ins.md)      | サードパーティ製のコードを Unity プロジェクトに追加します。                                                                 |

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

* [C# コンパイラー](/engine/6000.0/manual/scripting/environment-and-tools/overview-of-dot-net-in-unity/csharp-compiler.md)
