Legacy Documentation: Version 2018.2 (Go to current version)
Universal Windows Platform: IL2CPP scripting back end
Universal Windows Platform: Plugins on IL2CPP Scripting Backend
Other Versions

Universal Windows Platform: Generated project with IL2CPP scripting backend

Building a project from Unity to Universal Windows PlatformAn IAP feature that supports Microsoft’s In App Purchase simulator, which allows you to test IAP purchase flows on devices before publishing your application. More info
See in Glossary
with IL2CPPA Unity-developed scripting back-end which you can use as an alternative to Mono when building Projects for some platforms. More info
See in Glossary
scripting backendA framework that powers scripting in Unity. Unity supports three different scripting backends depending on target platform: Mono, .NET and IL2CPP. Universal Windows Platform, however, supports only two: .NET and IL2CPP. More info
See in Glossary
will create a Visual Studio C++ solution containing three projects:

Figure 1. Generated Visual Studio solution
Figure 1. Generated Visual Studio solution

These projects serve their own purposes:

  1. Il2CppOutputProject contains generated C++ code that was converted from managed assemblies. This project gets overwritten every time when built over it. See figure 2.
  2. Unity Data project contains all Unity data files: levels, assetsAny media or data that can be used in your game or Project. An asset may come from a file created outside of Unity, such as a 3D model, an audio file or an image. You can also create some asset types in Unity, such as an Animator Controller, an Audio Mixer or a Render Texture. More info
    See in Glossary
    , etc. This project gets overwrriten every time as well.
  3. The main project (it name matches your Unity project name). This is the project that will be built into an application package, which may be deployed to a device or uploaded to the Windows Store. Unity will not overwrite this project when built on top of it, so it can be modified freely without the fear of changes becoming lost.
Figure 2. Il2CppOutputProject
Figure 2. Il2CppOutputProject

When using .NET scripting backend, the generated project is using C#, however, this scenario is unsupported when using IL2CPP scripting backend.


Generated Visual Studio projects have three configurations: Debug, Release and Master:

  • Debug configuration has all optimizations disabled, all debugging info preserved and runs much slower. It is used for debugging your game.
  • Release configuration enables most code optimizations, but leaves profilerA window that helps you to optimize your game. It shows how much time is spent in the various areas of your game. For example, it can report the percentage of time spent rendering, animating or in your game logic. More info
    See in Glossary
    enabled. This configuration is used for profiling your game.
  • Master configuration disables the profiler, and is used for game submission/final testing. The build time of Master configuration might be longer, however, it is a little bit faster than Release configuration.

• 2017–05–16 Page amended with no editorial review