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

ЧаВо

Неподдерживаемые классы и методы

Как создать пакет AppX из Visual Studio?

  • After building the project from Unity Editor open it with Visual Studio
  • Кликните правой кнопкой мыши по проекту в обозревателе решения.
  • Store -> Create App Packages
  • Do you want to build packages to upload to the Windows Store? Выберите No и нажмите Next.
  • Выберите подходящую платформу, например, ARM Release.
  • Не включайте файлы публичных отладочных символов, это уменьшит размер сборки.
  • Create
  • Найдите папку с примерно таким именем: ВашеПриложение_1.0.0.0_ARM_Test, проверьте, есть ли в папке файл Add-AppDevPackage.ps1.
  • Скопируйте содержимое папки на целевую машину, затем, будучи на целевой машине, кликните правой кнопкой мыши по файлу Add-AppDevPackage.ps1->Run with PowerShell.
  • Во время следования этим шагам, вам может потребоваться соединение с сетью интернет для установки Developper License (лицензии разработчика), что потребует у вас наличия учётной записи Microsoft.
  • Если всё в порядке, ваше приложение должно появиться в меню “Пуск”.

Как установить файл appx на вашу машину?

  • В меню Пуск откройте Windows PowerShell, перейдите к вашему appx файлу, выполните Add-AppxPackage <yourappx>.appx. Если appx файл был подписан, он будет установлен на вашей машине. Важно: если вы повторно устанавливаете appx файл, вам придётся сперва удалить предыдущий. Для этого просто кликните по иконке приложения правой кнопкой мыши и выберите пункт Удалить.

Во время разворачивания приложения, я получаю ошибку “DEP0600: incorrect parameter”.

  • Что-то не так с вашим сертификатом, попробуйте создать новый кликнув по Package.appxmanifest->Packaging->Choose Certificate->Configure Certificate->Create Test Certificate.

Как пользоваться графическим отладчиком Visual Studio на ARM?

  • Прочтите этот пост http://msdn.microsoft.com/en-us/library/hh780905(v=vs.110).aspx. По сути, вам нужно включить vsgcapture.h. Если ваше приложение основано на C#, вам потребуется создать WinRT компонент и сослаться на него из основного модуля.

Как развернуть проект на планшетном PC?

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

Under publishing settings on Universal Windows Platform player settings, there’s a drop down menu called “Compilation overrides”. There are 3 settings:

1. None. All C# scripts will get compiled with Mono C# compiler;
2. Use Net Core Partially. Scripts that are in folders "Assets/Plugins", "Assets/Standard Assets" and "Assets/Pro Standard Assets" will get compiled with Mono C# compiler, while the rest will be compiled with Microsoft C# compiler;
3. Use Net Core. All scripts will get compiled with 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>\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