Universal Windows Platform: Debugging on IL2CPP Scripting Backend
Universal Windows Platform: Examples

FAQ

Unsupported classes and functions when using .NET Scripting Backend

How to create AppX package from Visual Studio ?

  • After building the project from Unity Editor open it with Visual Studio
  • In the solution explorer, right click on the project
  • Store -> Create App Packages
  • Do you want to build packages to upload to the Windows Store? Choose No, then Next
  • Pick appropriate platform, for ex., ARM Release
  • Don’t include public symbol files, this will make package smaller
  • Create
  • Locate folder which is named something like YourApp_1.0.0.0_ARM_Test, check that it has Add-AppDevPackage.ps1 file
  • Copy the folder contents to the target machine, then on the target machine right click on Add-AppDevPackage.ps1 -> Run with PowerShell
  • Follow the steps, you might need an internet connection to install Developper License, this will require for you to have Microsoft account
  • If everything is okay, your app should appear on the start menu

How to install an appx file on your machine?

  • Open Windows PowerShell from start menu, navigate to your appx file, execute Add-AppxPackage <yourappx>.appx, if the appx was signed, it will be installed on your machine. Note: if you’re installing appx file again, you have to uninstall the previous one, simply right-click on the icon, and click Uninstall.

I am getting an error “DEP0600: incorrect parameter” while deploying an application.

  • Something is wrong with your certificate, try creating a new by clicking on Package.appxmanifest -> Packaging -> Choose Certificate -> Configure Certificate -> Create Test Certificate

How to use Visual Studio’s graphical debugger on ARM?

How to deploy a project on a tablet PC?

How do I choose which compiler to use for my C# scripts?

Under the Publishing Settings panel on the Player settings for Universal Windows Platform, there’s a drop down menu called Compilation overrides. There are 3 settings:

Value Function
None Unity compiles all C# scripts with the Mono C# compiler.
Use Net Core Partially Unity compiles scripts that are in folders Assets/Plugins, Assets/Standard Assets and Assets/Pro Standard Assets with the Mono C# compiler, and uses the Microsoft C# compiler for the rest.
Use Net Core Unity compiles all scripts with the Microsoft C# compiler.

Both compilers have their ups and downs. Compiling scripts with the Mono C# compiler will allow them to be referenced by JavaScript scripts, which, for example, is needed for Angry Bots (hence you have to set it to none). However, using the Microsoft C# compiler will allow you to use Microsoft specific APIs without the need for plugins - just wrap the code in #if ENABLE_WINMD_SUPPORT/#endif, and it will compile and work just fine.

Getting more information about Windows App Certification Kit (WACK) failure?

You can find a log in <user&gt;\AppData\Local\Microsoft\AppCertKit which might contain additional information about the failure.

Help! There’s too many defines! Which are defined when?

No worries. Here’s all of them:

UNITY_WINRT Defined on all scripts
UNITY_WSA Defined on all scripts
UNITY_WINRT_10_0 Defined on all scripts
UNITY_WSA_10_0 Defined on all scripts
ENABLE_DOTNET Defined on all scripts when using .NET scripting backend
ENABLE_IL2CPP Defined on all scripts when using IL2CPP scripting backend
NETFX_CORE Defined on C# scripts that are compiled using Microsoft C# compiler when using .NET scripting backend
WINDOWS_UWP Defined on C# scripts that are compiled using Microsoft C# compiler when using .NET scripting backend or IL2CPP scripting backend with .NET 4.6 compatibility level
ENABLE_WINMD_SUPPORT Defined on C# scripts that are compiled using Microsoft C# compiler when using .NET scripting backend or IL2CPP scripting backend with .NET 4.6 compatibility level

See also platform dependent compilation.

Breakpoints in generated Assembly-CSharp-* projects aren’t hit.

There could be couple of reasons:

  • This may occur because of the JIT optimization on module load. In Visual Studio, go to Tools > Options > Debugging > General and uncheck Suppress JIT optimization on module load.
  • Visual Studio doesn’t consider Assembly-CSharp-* as your code. Go to Tools > Options > Debugging > General and uncheck Enable Just My Code. This tells Visual Studio that you want to debug the Assembly-CSharp-* projects.

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

Universal Windows Platform: Debugging on IL2CPP Scripting Backend
Universal Windows Platform: Examples
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961