Legacy Documentation: Version 5.3
Windows Store Apps: Debugging on .NET Scripting Backend
Windows Store: Generated project with IL2CPP scripting backend

Windows Store: IL2CPP Scripting Backend

Windows Store platform in Unity has historically supported the .NET scripting backend. Unity 5.3 introduces an experimental support for IL2CPP scripting backend on Windows Store platform. IL2CPP scripting backend is a mix of IL to C++ compiler and a slim virtual machine implementation. It works in several steps, as illustrated by a diagram below:

  1. Script C# code is compiled to regular .NET DLLs (managed assemblies).
  2. All managed assemblies that aren’t part of scripts (such as plugins and base class libraries) are processed by a tool called Assembly Stripper, which finds all unused classes and methods and removes them from these DLLs. This step significantly reduces the size of a built game.
  3. All managed assemblies are then converted to standard C++ code.
  4. The C++ code is compiled using a native platform compiler.
  5. Finally, the compiled code is linked with libil2cpp (the runtime part of IL2CPP) and UnityPlayer into the final native executable DLL.
IL2CPP Infrastructure
IL2CPP Infrastructure

At this time, IL2CPP scripting backend is supported only when targeting Windows 10 SDK.

Windows Store Apps: Debugging on .NET Scripting Backend
Windows Store: Generated project with IL2CPP scripting backend