TAKOYAKING’s blog 一覧

TAKOYAKING’s blog

たこ焼き系

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

みたいなエラーが出るようになりました。

原因

Package managerにJSON.NETが入っており、Assets配下にもJSON.NETがあるので競合してるようでした。

解決策

重複して入れた記憶がなかったのでなんでだろうとpackages-lock.jsonを見てみると
com.unity.collab-proxy (Unity Collabolate)
JSON.NETに依存していました。
なのでUnity Collabolateは使っていなかったので、削除しました。


github.com
github.com

ここからUPM経由で再インストールしました。この時古いJSON.NETは削除しました。

入れたのは

  • jillejr.newtonsoft.json-for-unity: 13.0.102
  • jillejr.newtonsoft.json-for-unity.converters: 1.1.1

この2つでconverterは入れないとUnityのVector3とかをいい感じでシリアライズしてくれないです。

そして、Addressaablesを使っているなら、Addressablesをビルドします。
これをやらないと実機でconvertersの設定ファイルがないので、Vector3とかがうまく扱うことができません。

以上です。