IL2CPP でビルドを始める際に、Unity は自動的に以下の処理を行います。
Unity スクリプティング API コードを通常の .NET DLL (マネージアセンブリ) にコンパイルします。
マネージ バイトコードストリッピング を適用します。この処理により、ビルドされたゲームのサイズが大幅に削減されます。
すべてのマネージアセンブリを標準の C++ コードに変換します。
生成された C++ コードと IL2CPP のランタイムの部分を、ネイティブのプラットフォームコンパイラーを使ってコンパイルします。
そのコードをターゲットとするプラットフォームに基づき、実行ファイルか DLL のいずれかにリンクします。
IL2CPP には、スクリプトの属性によって制御できる有用なオプションがいくつかあります。詳細は、プラットフォーム依存コンパイル を参照してください。