Unity
MR
HoloLens
WinMR

Mixed Reality Toolkit - Unityで始めるHoloLens/WinMR開発~バージョンの変遷

Mixed Reality Toolkitのバージョンは?

Mixed Reality Toolkit - Unityのバージョンは何使ってますか?ライブラリとしては更新頻度が高く、また開発に使うUnityも結構更新するので、安定したバージョンがどれなの的な話になることが多いです。今回は公式で公開されているリリース情報を整理してみました。最後の方にじゃあどれがよさげ(経験則)を記載。

Mixed Reality Toolkit - UnityのバージョンとUnityバージョンの対応表

ちなみにVisual Studioのバージョンはさほど影響受けないので省略します。Mixed Reality Toolkit - Unity(以下MRTK)とサポートUnityのバージョンは以下の通りです。いわゆるRC系については除いています。
主な追加機能は主観で気になったものを一部抜粋しているだけですので、詳細は各リリースタグの内容で確認をお願いします。

(2018年10月時点の情報)

MRTK バージョン 対応Unity 対応OS Windows SDK 主な追加機能
2017.4.2.0(tags) Unity 2017.1.X~Unity 2017.4 LTS Windows 10 Fall Creators Update 10.0.17134
  • QR Code Trackingの追加(Preview)
    2017.4.1.0(tags) Unity 2017.1.X~Unity 2017.4 LTS Windows 10 Fall Creators Update 10.0.17134
    • AppBarのカスタムアイコンのサンプル
    • Spectator Viewのマルチレンズ対応
    • CompoundButtonSpeechの追加
    • "Add the Spatial Mapping Prefab" がscene configuration windowに追加
      2017.4.0.0(tags) Unity 2017.1.X~Unity 2017.4 LTS Windows 10 Fall Creators Update 10.0.17134
      • モーションコントローラのRayを視覚化
      • ダイアログとプログレスのUI追加
      • ツールチップの追加
      • 空間マッピングに関する設定の追加
      • Spectator Viewのプレビュー版
        2017.2.1.4 Patch(tags) Unity2017.2.1p2 Windows 10 Fall Creators Update 10.0.16299
        • MRTKスタンダートシェーダーの追加
        • 両手操作機能の追加(TwoHandManipulate)
        • Motion Controller hapticsとHolographicButtonの追加
        • BoundingBoxとAppBarの追加
        2017.2.1.3 Hot Fix(tags) Unity 2017.2.1p2 Windows 10 Fall Creators Update 10.0.16299 破壊的アップデート。2017.2.1.2でUNETをMRTKのExampleに移動する際に失敗しており、ライブラリが不安定になったため急遽提供された。
        2017.2.1.2 (欠番) - 2017.2.1.3にある通り、このリリースは壊れているのでタグ上から削除されている。
        2017.2.1.1(tags) Unity 2017.2.1f1 Windows 10 Fall Creators Update 10.0.16299 Bug Fix.
        2017.2.1.0(tags) Unity 2017.2.1f1 Windows 10 Fall Creators Update 10.0.16299
        • Mixed Reality Design Labs UX 機能の追加
        • モーションコントローラの外観変更機能の追加
        • Microphone Helperの復帰
        2017.2.0p1 MRTP4 (tags) HoloLens:Unity 2017.1.2
        WinMR:Unity 2017.2.0p1 MRTP 4
        Windows 10 Fall Creators Update(WinMRの場合)
        ※明記はされていないがおそらく。。。
        HoloLens:10.0.15063
        WinMR:10.0.16299
        Windows Mixed Reality Deviceに対応直後でUnityのバージョンがデバイス毎に乖離している。
        2017.2.0 MRTP(tags) WinMR:Unity 2017.2.0p1 MRTP 4 未記載 未記載 WinMR専用のライブラリ。主にモーションコントローラ系の機能が追加されている。
        2017.1.2(tags) Unity 2017.1.2f1 未記載 未記載 破壊的アップデートが行われていた時期。
        • XboxControllerへの対応
        • Micstreamの一時的な除外
        1.5.8.0(tags) Unity 5.6.2f1 未記載 未記載 Unity 5.X系の最後のリリース
        1.5.7.0(tags) Unity 5.6.1f1 未記載 未記載 1年前のサンプルはこのあたりのバージョンが多いはず。
        1.5.6.0(tags) Unity 5.5.2f1 未記載 未記載 1年前のサンプルはこのあたりのバージョンが多いはず。
        1.5.5.0(tags) Unity 5.5.0f3 未記載 未記載 1年前のサンプルはこのあたりのバージョンが多いはず。
        1.5.4.0(tags) Unity 5.4 未記載 未記載 1年前のサンプルはこのあたりのバージョンが多いはず。

        結局どのあたりが幸せになるのか

        普段自身が使う安心感のある組合せは以下の感じです。

        • MTRK 2017.2.1.0(両手操作などが欲しいときは2017.2.1.4)
        • Unity 2017.2.1p2

        新機能を試したい場合は、以下の組み合わせ。

        • MTRK 2017.4.0.0
        • Unity 2017.2.1p2~Unity2017.4.X

        なお、MRTKに対してUnityのバージョンは上げても大丈夫な場合が多いです。
        例えばMRTK 2017.2.1.0に対してUnity 2017.4.Xなどです。ただ、何か不安定さを感じたら、バージョン合わせるなどするといいと思います。

        移植性ってあるの?

        こればっかりは試してくださいという感じですが、大きく変わっているのは1.5.x.x系から2017.x.x.x系への所です。ここは破壊的アップデート(名前空間やクラス名の変更)が結構入っています。ただ、経験的にはusing句の書換えとクラスの変更すれば移植は可能かと。
        1.5.x.xまたは2017.x.x.x系でアップデートする分には比較的容易ですが、2017系は途中でWinMR対応しているのでそのまま変更は難しいかもしれません。
        なお、入れ替えについてはAssets内のHolotoolkitを丸ごと消して新しいものを再インポートすればOKです。