Windows ストアアプリ: .NET Scripting Backend でのデバッギング
Windows ストア: IL2CPP スクリプトバックエンドで生成したプロジェクト

Windows ストア: IL2CPP Scripting Backend

Unity の Windows ストアのプラットフォームは従来より、.NET スクリプティング バックエンドに対応しています。Unity 5.3 では、Windows ストアのプラットフォームで、試験的に IL2CPP スクリプティング バックエンドへの対応を開始しました。IL2CPP スクリプティング バックエンドは、IL を C++ に変換するコンパイラーと Slim Virtual Machine の実装を組み合わせたものです。これは下記の図に示される通り、いくつかのステップを経て機能します。

  1. スクリプト C# コードが通常の .NET DLL (マネージ アセンブリ)にコンパイルされます。
  2. スクリプトに含まれないマネージ アセンブリ(プラグインやベースクラス ライブラリなど)はすべて、Assembly Stripper と呼ばれるツールによって処理されます。このツールは、未使用のクラスやメソッドを見付けて DLL から削除するものです。これによって、ビルドされたゲームのサイズが大幅に縮小されます。
  3. すべてのマネージ アセンブリが 標準の C++ コードに変換されます。
  4. C++ コードがネイティブのプラットフォーム コンパイラーによってコンパイルされます。
  5. 最後にはコンパイルされたコードは libil2cpp(IL2CPPのランタイム部分)でリンクされ UnityPlayer 内で最終的にネイティブ実行可能なDLLになります。
IL2CPP の基本構造
IL2CPP の基本構造

現時点では、IL2CPP スクリプティング バックエンドは Windows 10 SDK がターゲットの場合のみの対応になっています。

Windows ストアアプリ: .NET Scripting Backend でのデバッギング
Windows ストア: IL2CPP スクリプトバックエンドで生成したプロジェクト