

This means that to use IL2CPP on a specific platform, you need to build the application on that platform. IL2CPP also requires some systems native to the target platform to generate the C++ code. For more information, see Installing the Unity Hub and Add modules to the Unity Editor. You can select IL2CPP as an optional module when you first install a version of Unity, or add IL2CPP support to an existing installation through the Unity Hub. To build a project with IL2CPP, you need to have the backend installed in your Unity installation.

For more information, see Debugging C# code in Unity. IL2CPP supports the debugging of managed code in the same way as the Mono scripting backend. For more information, see How IL2CPP works and the blog series An introduction to IL2CPP internals. IL2CPP can improve performance across a variety of platforms, but the need to include machine code in built applications increases both the build time and the size of the final built application. For more information, see Scripting restrictions. When a platform can support both backends, Mono is the default.

Other platforms support AOT and IL2CPP, but don’t allow JIT compilation, and so can’t support the Mono backend. Some platforms don’t support AOT compilation Ahead of Time (AOT) compilation is an iOS optimization method for optimizing the size of the built iOS player More info See in Glossary, so the IL2CPP backend doesn’t work on every platform.
