読者です 読者をやめる 読者になる 読者になる

Unity AssetStoreまとめ

アセットストア日替わりタイムセールの記事を書いていきます。

JSON .NET for Unity Unity5.3以下でもJSONが使えるスクリプト!マルチプラットフォーム対応

f:id:assetsale:20160620222559j:plain f:id:assetsale:20160620222608j:plain

今日のアセット

JSON .NET For Unity

$25 => $15    40%OFF

 

UnityでJsonが使えるようになるスクリプトですが、Unity5.3よりJson対応になった為、どのようなメリットがあるか調べてみました。

 

まずUnity標準から紹介

Unity5.3から追加された標準搭載JSON「JsonUtility」

JSON シリアライズ機能で、オブジェクトを JSON 形式に変換したり、元の形式に戻したりすることができます。この機能は、Web サービスに使用する場合や、データをテキストベースの形式に簡単にパック/アンパックする場合に便利です。

 

Unity - マニュアル: JSON 形式にシリアライズ

JsonUtilityは(機能は .NET JSON より少ないですが)、よく使用されている .NET JSON よりも著しく早いことが、ベンチマークテストで示されています。

 

機能的には少ないが、.NET JSONよりパフォーマンスが良好。

注意点としては「Dictionary」と「Hashtable」が使えないことです。これ重要

 

※どうしてもDictionaryを使いたい人は「MiniJSON」を使おう

 


Dictionaryだけではなく、制限や機能的に使えない注意点をまとめたサイト

 

「配列のネストは1つまで」だったり「TransformはMonoBehaviourの派生クラスではない」等、具体的に書かれていてわかりやすいです。必読!

 

 

そして「JSON .NET For Unity」を見て比べましょう。

・・・と思い、公式サイトへ行くがドキュメントが見当たらず・・・うーむ(汗

公式サイト

シリアライズとデシリアライズのソースコードと、iOSとWebPlayerの互換性を完全に解消したとあります。

var person = new Person();
var serializedPerson = JsonConvert.SerializeObject(person);
var newPerson = JsonConvert.DeserializeObject<Person>(serializedPerson);

購入ユーザーのレビューを見ると「Dictionary」が使えた報告があった。

JSON .NET For Unity」は「JsonUtility」の機能制限が解消してるかどうかは不明ですが、とにかく人気アセットです。

 

その理由は2013年12月リリース、当時はJsonがUnityで使えなかったからでしょうね。

Unity5.3以降のユーザーはアップデートで問題ありませんが、5.3以前のユーザーには大変重宝するアセットでしょう。

 

15ドルの計算結果 (1ドル 104.4235 円)
15ドル は、 1,566円

定価25ドルなら、2,610円