UWPは今後、IL2CPPで開発することを余儀なくされるため開発フローについても考えねばなりません。
その一つがDebuggingで、Unityでは2018.2よりIL2CPP Managed Debuggerという仕組みが提供されています。
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
Unity 2018.2 におけるスクリプティングランタイムの改良 – Unity Blog
セットアップ
ビルド設定から、Developmentを有効にし、続いてScriptDebuggingを有効にします。また、Wait For Managed Debugger も有効にしておきます。
Wait For Managed Debuggerを有効にすると起動時にDebuggerをアタッチできるようになります。(後述)
CapabilitiesからInternetClientServerを有効にします。Immersiveでデバッグしたい場合は、PrivateNetworkClientServerを有効にします。
セキュリティ設定を行います。(※ 自己責任でお願いします)
アプリケーションとVSはUDPでデータの受け渡しをします。先のCapabilitiesはそのためです。WindowsDefenderなどを利用している場合は通信を許可するようにファイアウォールの設定を変更する必要があります。
セキュリティが強化されたWindowsDefenderファイアウォール->受信の規則->MicrosoftVisualStudio2017(プロファイル:パブリック、プロトコル:UDP)を開き、接続を許可する。Unityからアプリケーションをビルドし、続いてVSからもアプリケーションをビルドしてください。
※Unityからビルドしたソリューションを開いた際、追加のモジュールを要求される場合、インストールしてください。
https://forum.unity.com/threads/hololens-uwp-w-il2cpp-backend-no-debug-targets-in-visual-studio-2017.548734/アプリケーションが起動すると、 Wait For Managed Debuggerを設定したことで、「You can attach a managed debugger now if you want」というメッセージが表示されるのでここで一度待機します。
UnityからVSを立ち上げて、デバッグ->UnityDebugのアタッチからHoloLensが見つかることを確認します。
OKを押したら、HoloLensに戻り、先のウィンドウを閉じます。するとアプリが立ち上がります。
break pointを設定すれば下記のようにデバッグすることができます。
見づらいですが一連の流れです。
IL2CPP Managed Debugger works on #HoloLens. pic.twitter.com/0ROYjEVDsI
— デコシ (@Ash_Yin) 2018年11月2日
追記 公式から使い方紹介
どうしてもっと早く…
unityフォーラムに投稿したやつを見て書いてくれたのかな…