yotiky Tech Blog

とあるエンジニアの備忘録

HoloLens で使用する #define ディレクティブ

TL;DR

  • HoloLens 実機向けにUWPのAPIを使って実装するなら WINDOWS_UWP
  • マルチデバイスな環境で、Unityで使えるUWPのAPIを使うなら UNITY_WSA

プラットフォーム依存コンパイル

検証環境

  • Windows 10
  • Unity 2019.2.7f.2
  • プラットフォーム : UWP
  • Script Backend : IL2CPP
  • 実行環境 : HoloLens2 / Editor

環境に関連のある #define

docs.unity3d.com

Unity のプラットフォーム依存コンパイルでサポートしている #define ディレクティブのうち HoloLens 開発に関連してそうなものを抜粋する。
○がついているのはスクリプトが実行される環境である。
なお、Unity では使えない .NETAPIなどを使う場合は、使うものに合わせた #define を使用すること。

Define 機能 HoloLens2 Editor
UNITY_EDITOR エディターコードのための #define ディレクティブ
UNITY_WSA UWPのための #define ディレクティブ
NETFX_CORE UWPで .NET Core 向けに .NET Scripting Backend を使用する場合の #define ディレクティブ
UNITY_WSA_10_0 Windows10 向けのUWPのための #define ディレクティブ
WINDOWS_UWP Windows10 向けのUWPで .NET Core 向けにコンパイルする場合の #define ディレクティブ
ENABLE_IL2CPP IL2CPP のスクリプティングバックエンド #define ディレクティブ

Editor で実行した場合
f:id:yotiky:20200616203836p:plain

HoloLens2 で実行した場合
f:id:yotiky:20200616233314p:plain:w300

MRTKのコーディングガイドラインにも参考になるものがあると教えて頂いたので掲載。

microsoft.github.io