UnityプロジェクトをStrix SDK用に設定する方法

Unityには [プロジェクト設定] に多数のオプションがあります。プロジェクトでStrix Unity SDKを利用する上で、そのうちのいくつかを適切に設定することが重要になります。

マネージストリッピングレベル

[プロジェクト設定] > [プレイヤー] > [その他の設定] > [最適化] にはマネージストリッピングレベルという名前のオプションがあります。Unityのドキュメントにも記載されている通り、ゲームがオブジェクトのシリアル化と逆シリアル化を正しく行えるようにするためには適切なレベルを選択することが重要です。また、Strix Unity SDKではオブジェクトのシリアル化が頻繁に発生します。

Strix Unity SDKは、マネージストリッピングレベルのデフォルトの設定を前提としており、この設定はデフォルト値のままにしておくことを推奨します。ただし例外が1つあります。Unity 2021.2またはそれ以降をお使いであり、スクリプティングバックエンドとしてIL2CPPをお使いになり、かつ、お使いのStrix Unity SDKがバージョン1.4.0またはそれ以前である場合は、マネージストリッピングレベルをデフォルトの「Minimal」から「低」に変更する必要があります。

Managed Stripping Level option

注釈

この変更は、IL2CPPによって発生する「MsgPack」に関係したエラーを回避するために必要です。

[スクリプティングバックエンド] オプションは、[プロジェクト設定] > [プレイヤー] > [その他の設定] > [設定] にあります。この設定は、Unityのバージョンやターゲットプラットフォームによっては、IL2CPPに固定されていたりデフォルトでIL2CPPになっていたりする場合があります。

特に、プロジェクトのターゲットがiOSプラットフォームの場合には、IL2CPPから変更できません。

注釈

スクリプティングバックエンドの設定が何であっても、マネージストリッピングレベルを「高」か「中」に設定してゲームをビルドするとStrix Unity SDKは正しく動作しません。それは、SDKが利用するリフレクションの操作が誤動作するためです。