yotiky Tech Blog

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

HoloLens2 に FastEnum を導入する

追記 (2020/11/14)

FastEnum 1.6.0 がリリースされました。 1.5.x では System.Runtime.CompilerServices.Unsafe は 4.7.1 以上が必要でしたが、1.6.0 では 4.5.0 以上になっており、要求されるバージョンが下がっています。現在は 1.6.0 でも動作します。

動作確認はしていませんが、最新バージョンで良ければ Nuget For Unity からでもインポートすることができるでしょう。

この記事自体は、NuGet Gallery からライブラリをインポートする手順としても有用なのでそのまま残しておきます。

検証環境

  • Unity 2019.4.3f1
  • FastEnum 1.4.1
  • MessagePack 2.2.60
  • MRTK 2.5.1

補足

FastEnum 単体で導入する場合は、最新を使っても大丈夫です。 その場合は Dependencies に記載されている System.Runtime.CompilerServices.Unsafe ダウンロードしてインストールしましょう。

MessagePack や MagicOnion を一緒に使う場合は、依存する System.Runtime.CompilerServices.Unsafe のバージョンに差異が発生するため、下位バージョンに依存している MessagePack のバージョンに合わせている形になります。その他の競合する依存ライブラリを持つツールを使う場合は、バージョンを合わせるように調整が必要になってきます。

導入

FastEnum

github.com

Unity 向けのパッケージはないので、NuGet Gallery の「Download package」からパッケージをダウンロードします。

f:id:yotiky:20201107184405p:plain

ダウンロードした nupkg ファイルを解凍します。出てきたフォルダのfastenum.1.4.1\lib\netstandard2.0\FastEnum.dll を Unity の Assets\Plugins フォルダの下にインポートします。

MessagePack

MessagePack は リポジトリから unitypackage をダウンロードしてインポートします。

すべてインポートされると、Plugins フォルダは以下のようになります。

f:id:yotiky:20201107185714p:plain

MessagePack に関しては以下の記事も参考にしてみて下さい。

yotiky.hatenablog.com

導入の手間はありますが問題なく実行できます。 f:id:yotiky:20201107185858p:plain