Version: 2017.1
ユニバーサル Windows プラットフォーム: IL2CPP スクリプティングバックエンドのデバッグ
ユニバーサル Windows プラットフォーム: 例

FAQ

.NET Scripting Backend でサポートされていないクラスと関数

どうやったら Vsisual Studio から Appx パッケージが作れますか。

  • Unity エディターのプロジェクトをビルドした後に Visual Studio でそれを開きます
  • ソリューションエクスプローラー内のプロジェクトを右クリックします
  • Store -> Create App Packages
  • Do you want to build packages to upload to the Windows Store? の質問に No を選び次へ進みます
  • ARM Release などの適切なプラットフォームを選択します
  • public symbol ファイルは含めないでください、含めないことでパッケージサイズが小さくなります
  • Create ボタンを押します YourApp 1.0.0.0 ARM Test のような名前が付けられているフォルダーへ移動し、 _Add-AppDevPackage.ps1**ファイルがあることを確認します
  • フォルダーのコンテンツをターゲットマシンへコピーし、ターゲットマシン上で右クリックから Add-AppDevPackage.ps1 -> Run with PowerShell を選択します
  • 次のステップではインターネット接続によるデベロッパーライセンスが必要で、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 上でどうやったら使えますか。

タブレット PC にはどうやってプロジェクトをデプロイするのですか。

C# スクリプトにどのコンパイラーを選択するべきですか?

ユニバーサル Windows プラットフォーム Player Settings の Publishing Settings で “Compilation overrides” というドロップダウンメニューがあります。これには 3 つの設定があります。

1. None。すべての C# スクリプトは Mono C# コンパイラーでコンパイルされます。
2. Use Net Core Partially。 "Assets/Plugins"、"Assets/Standard Assets"、"Assets/Pro Standard Assets" のフォルダーにあるスクリプトは Mono C# でコンパイルされ、その他のものは Microsoft C# コンパイラーでコンパイルされます。
3. Use Net Core。すべてのスクリプトは Microsoft C# コンパイラーでコンパイルされます。

どのコンパイラにも利点と欠点があります。Mono C#コンパイラーでスクリプトをコンパイルすると、JavaScript スクリプトで参照できるようになります。たとえば、Angry Bots には必要です (したがって、None に設定する必要があります)。 ただし、Microsoft C# コンパイラーを使用すると、プラグインを必要とせずに Microsoft 固有の API を使用できるようになります。コードを #if ENABLE_WINMD_SUPPORT/#endif にラップするだけで、コンパイルし正常に動作します。

Windows アプリ認定キット (WACK) 失敗時にもっと情報を得るには?

<user>\AppData\Local\Microsoft\AppCertKit のログで、不具合に関する追加情報を得ることができます。

defines が多すぎて、いつどれを使ったらいいのかわかりません。

心配ご無用です。ユニバーサル Windows アプリ用の定義は以下で全てです。

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

プラットフォーム依存コンパイルも参照してください。

Assembly-CSharp-* プロジェクトが動作しない場合のブレイクポイント

くつかの理由があります。

  • これは、モジュールの読み込みに関する JIT の最適化が原因で発生する可能性があります。Visual Studio で Tools > Options > Debugging > General and uncheck Suppress JIT optimization on module load に移動します。
  • Visual Studio は Assembly-CSharp-* をコードと認識しません。.Tools > Options > Debugging > General と移動し Enable Just My Code のチェックを外します。これにより、Visual Studio が Assembly-CSharp-* プロジェクトをデバッグするということを認識します。

ユニバーサル Windows プラットフォーム: IL2CPP スクリプティングバックエンドのデバッグ
ユニバーサル Windows プラットフォーム: 例