TATIKUNLOG.

主にゲーム作りについて書き留めるブログ。

アセットの『Feel』を導入しようとしたら『Newtonsoft.Json.dll』に阻まれた【Unity】



PR

はじめに

『Feel』っていう面白そうなアセットが販売していたので、早速購入して使おうとインポートしたらエラーにボコボコにされたので、その解決策をメモしておきます。

ちなみに、Feelっていうのは簡単にUnity上で演出をするためのアセットです。 この記事執筆時点で半額セール中だったので、購入しました。

エラーが発生した環境

  • Unity 2020.3.11f1
  • Feel 2.2

エラー内容

f:id:tat1kun:20210605161937p:plain

Multiple precompiled assemblies with the same name Newtonsoft.json.dll included on the current platform.

いわゆるAssemblyDeffinitionFileの干渉問題なんでしょうが、身に覚えがないので困りました。

とりあえずの解決策

f:id:tat1kun:20210605162908p:plain

Feelをインポートした際に一緒に導入された方のNewtonsoftを削除したら、エラーは解消されました。

f:id:tat1kun:20210605165001p:plain

↑インポートしたときに一緒に入れられています

Unityバージョンによる違い

ちなみに、エラーが出たのはUnity2020.3.11fなんですが、バージョンをUnity2019に落としてインポートしたところ、エラーは発生しませんでした。

この違いですが、プロジェクトのディレクトリの、Library/PackageCache以下にUnity2020.3.11fだと『com.unity.nuget.newtonsoft-json@2.0.0』があって、2019は無かった点ですね。

どちらのバージョンもプロジェクト作成後に何もしていないので、勝手に追加されていると思うんですが。

f:id:tat1kun:20210605170054p:plain

Feelをインポートした際に一緒に導入された方のNewtonsoftじゃなくて、 逆に上図のcom.unity.nuget.newtonsoft-json@2.0.0を丸ごと削除しても、エラーは解消されました。

参考

forum.unity.com

追記(2021/07/10)

feel-docs.moremountains.com

公式ドキュメントの「How to install Feel?」の下部にもこのエラーの対処法がちゃんと書かれていました。

やっぱり2020以上のUnityで起こるエラーみたいですね。