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 Glossaryscripting 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:
These projects serve their own purposes:
Il2CppOutputProject contains generated C++ code that was converted from managed assemblies. This project gets overwritten every time when built over it. See figure 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.
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.
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.