Posted at

[Unity] ビルド時に Json.NET が動かない問題 PlatformNotSupportedException

JsonUtility で Dictionary が使えなかったことにイライラしたので、 Json.NET を入れました。

Editor 上で Play する分には問題なく動いてくれましたが、 Build And Run すると、どうも上手くファイルが読み込まれていないようでした。

Development Build で確認すると、エラーメッセージが表示されました。

PlatformNotSupportedException: Operation is not supported on this platform.

そして二行目には、 Newtonsoft.Json の文字が。


解決法

https://github.com/JamesNK/Newtonsoft.Json/issues/2046

にある通り、 Player Settigns にある Api Compatibility Level.NET 4.x に変更すると動くようになりました。

しかしこの方法には少し問題があるようで、

https://docs.microsoft.com/ja-jp/visualstudio/cross-platform/unity-scripting-upgrade?view=vs-2019

にある通り、動かないプラットフォームがある可能性がある、ということを知っておくべきでしょう。