しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

Unity で MessagePack for C# を利用する(準備まで)

※ これは 2022/01/21 時点の Unity 2021.2.8f1、MessagePack for C# v2.3.85 の情報です

最新版では動作が異なる可能性がありますのでご注意ください

Unity の基盤ライブラリを実装する上でデータの永続化を考えないわけにはいかない

Unity の標準機能を利用する場合、PlayerPrefs を使用することになるが、これは機能が貧弱で圧縮率、読み書き速度、データ型の柔軟性のどれをとってもイマイチ

・・・というわけでここはカリカリにチューニングされている MessagePack for C# を採用し、まずは使用できるように準備をする

まずは GIthub のリリースページ から最新版の .unitypackge をダウンロード

ダウンロードが終わったら UnityEditor でインポートする

新しい Unity だと含まれている dll もパッケージに含まるので、System.Buffers.dllSystem.Memory.dllSystem.Threading.Tasks.Extensions.dll はインポート対象から除外する

競合する dll はインポートしない

インポートしたら警告で Assets/Scripts/MessagePack/HashCode.cs も競合するようなので削除

HashCode.cs も競合する

すると警告も消えた

最後に UnityEditor のメニューから [Window] - [MessagePack] - [CodeGenerator] が表示されるはずなので選択

CodeGenerator

.NET Core SDK のインストールチェックが走る

SDK チェック

インストールしていなかったら .NET Core 3.1 あたりから最新版をダウンロードしてインストールする

使える状態になっていればこんな感じにコード生成の設定 UI が表示されるので準備完了

コード生成設定