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

Unity AssetStoreまとめ

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

Perlib セーブデータの改ざんを防ぐ暗号化データの保存。PlayerPrefsにはないシリアライズ保存も装備

f:id:assetsale:20150803000324j:plain

今日のアセット

Perlib

$10 => $5    50%OFF

 

PlayerPrefsの代わりに暗号化してデータ保存するアセット。

特徴としてはシリアライズされた型も保存&暗号化までできる事。

 

ファイルベースで保存できるので、PCもしくはモバイル端末の容量が許す限り保存し放題。

 

ただし、PlayerPrefsを使わないので便利アセットのAdvanced PlayerPrefs Windowが使えなくなってしまう。assetsale.hateblo.jp

 

 

PlayerPrefsはイタチごっこ

 

Unityのパラメータの保存と言えばPlayerPrefsですが、Windowsのレジストリみたいに格納されていて簡単に改ざんされてしまう。Key,Valueで保存

 

暗号をかけようが、その手のプロが必死に解析してしまうので、確実な方法は無いかもしれません。が、これは人気ゲームに限っての話なので需要がなければ一般的な暗号が掛かってさえいれば解読されにくくなります。

 

ネットワーク無しでも遊べるゲームなら

PlayerPrefs自体に保存して暗号化をかけるAnti-Cheat Toolkit($30)

結構な人気アセットで簡単に実装できるし、暗号性能は高そう。

 

PlayerPrefsを使わず、オリジナルファイルで保存をするPerlibなら、制限を気にせず暗号化もかかっている。ただしPlayerPrefsの保存状況を確認するエディタが使えなくなる。

 

ネットワーク有りのゲームなら

 

会社or個人でデータベースを構築して通信で保存させる。

 

それか、もっとcoolにやるならばMBaaSを活用する。

 

koyoproさんのブログ

Unity+Parseでネットワークを介してデータ管理【Unity】【Parse】 - (:3[kanのメモ帳]

個人のスマホアプリ開発者がParseを使うべき15の理由 - Qiita

 

基本無料で結構使える!データベース構築不要。実装方法もブログで紹介されてました。

 

無料で扱える範囲

  • 1秒間に30リクエスト
  • 同時に実行できるジョブは一つ
  • ファイルストレージは20GBまで
  • DBストレージは20GBまで
  • データ転送量は2TBまで
  • プッシュ通知は月に100万端末(同じ端末なら送り放題?)

 

オマケ:シリアライズの保存

 

XMLに保存、読み込み、シリアライズ、デシリアライズの方法を丁寧に解説しているサイト様を発見!これは参考になる。

ftvlog

[Unity][C#] XMLファイルとしてデータを保存する | ftvlog

 

5ドルの計算結果 (1ドル 123.9200 円)
5ドル は、 619円
定価10ドルなら、1,239円