Holographic Remotingを使うと、Visual StudioでビルドしなくてもUnityからHoloLens実機を使ってデバッグ実行ができるようになります。プログラムの実行環境としてはUnity Editorなのですが、HoloLensのディスプレイやカメラ・深度センサーなどを使って実行している状態になります。
Unity2019で実行するには、UnityのWindow > XR > Holographic Emulationからウインドウを開きます。
(Unity2020以降はやり方が変わります)
HoloLensの方では、Holographic Remotingアプリを起動しておき、HoloLensのIPかホスト名を入力して「Connect」ボタンをクリックすると接続されるので、Unity側でRunすればHoloLens側で動作が確認できます。
しかし、標準の状態ではハンドや視線は認識しません。HoloLens 2はハンドを使ったインタラクションが主となるため、このままだとかなり用途が限られます。
認識させるためには、DotNetWinRTの導入が必要となります。
ドキュメントにはNuGet for Unityを使うとあるのですが、余計なファイルが増えるのが嫌なので、直接ダウンロードします。
Download packageからファイルを落として、落としたファイルの拡張子をzipに変更して解凍します。
lib > unity の中に「net46」「netstandard2.0」があるので、導入するプロジェクトに合った方を選びます。
(Player Settings > Other Settings > Api Compatibility Level)
Assets以下の好きな場所にPluginsディレクトリを作成し、「Microsoft.Windows.MixedReality.DotNetWinRT.dll」を格納します。
DLLのインスペクタで、Include Platformsの「Editor」と「WSAPlayer」にチェックを入れます。
Project Settings > Player のScripting Define Symbolsに、「DOTNETWINRT_PRESENT」を入力します。既に何か値が入っていた場合は、セミコロンを区切り文字として追加します。
(例)「MOBILE_INPUT;DOTNETWINRT_PRESENT」
これでHolographic Remotingを実行すると、ハンドと視線が認識されるはずです!