Unity: JSON.NETとUnity Collabolateが競合する
現象
UnityのversionをあげるとなぜかJSON.NETで
Self referencing loop detected
とか
Multiple precompiled assemblies with the same name Newtonsoft.Json.dll included or the current platform
みたいなエラーが出るようになりました。
解決策
重複して入れた記憶がなかったのでなんでだろうとpackages-lock.jsonを見てみると
com.unity.collab-proxy (Unity Collabolate)
がJSON.NETに依存していました。
なのでUnity Collabolateは使っていなかったので、削除しました。
ここからUPM経由で再インストールしました。この時古いJSON.NETは削除しました。
入れたのは
この2つでconverterは入れないとUnityのVector3とかをいい感じでシリアライズしてくれないです。
そして、Addressaablesを使っているなら、Addressablesをビルドします。
これをやらないと実機でconvertersの設定ファイルがないので、Vector3とかがうまく扱うことができません。
以上です。