What is Unity IL2CPP ?
IL2CPP is an acronym for "Intermediate Language to C++" that you see when compiling your project in Unity.
It is a background script developed by Unity. It can be used as an alternative to Mono when creating projects on other platforms.
When building a project using IL2CPP, Unity converts IL code from scripts and assemblies to C++ before creating a native file (e.g. .exe, apk) for your chosen platform. For example, if your C# code turns into C++.
This is why projects are made on many platforms with Unity. Because IL2CPP makes it easy for Unity to support new platforms.
Using IL2CPP increases the performance, security and platform compatibility of your Unity projects.
Build times are longer with IL2CPP than with Mono, but in most cases it's well worth it since it's a build for people to play around with.
IL2CPP is now a requirement for iOS and the default for Android builds.