ここ激しく苦悩したのでメモがてら。

Mac環境はどうやらMono.Data.Sqliteで簡単にできるようですが、いまのところ環境がないので割愛です。
windowsが32bitだったり、Unity4.6だったりの場合は必要ないと思います。


UnityにはAssetStoreで、
EasySQL
みたいな優秀なSQLiteクライアントがあるみたいですけど、
ほとんど有料。

私のように「ケチってセコくゲームつくりたい!」っていう人には高嶺の花。


というわけで、

SQLiteUnityKit

こちらを使用。
6
GitHubからダウンロード。

&解凍。


7

こんなファイルができるはずです。



Projectにファイルを置く

8


フォルダを作ります。

libsqlite3.so を Plugin\Android

DataTable.cs と SqliteDatabase.cs を Script

それぞれのフォルダに置く。
残った.gitignoreとREADME.mdはほっといてOK。

StreamingAssetsについては後ほど。







sqlite3.dll関連を配置

windowsは32bitでも64bitでも、初期でsqliteをサポートしてません。
なので、dllを持ってきます。

SQLite公式から,

sqlite-dll-win32-x86-3080803.zip
をダウンロード。
こいつは32bit版です。


続いて64bit版を
ここ
からダウンロード。
7z形式なので注意。

64bit版をみつけるのに苦労しました…




9


こんな感じで「x86」と「x86_64」フォルダを作成。

さきほどダウンロードした32bit版のsqlite3.dllをx86フォルダ
64bit版のsqlite3_64.dllをx86_64フォルダ

それぞれぶっこみます。
ちなみにsqlite3_64.dllはフォルダへ入れたあとsqlite3.dllに名前を変更しても動きました。



Mac版はたぶん
C:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0
にある
Mono.Data.Sqlite.dll
を、Pluginフォルダへ入れればOKだと思います。未確認。



プラットホームによって切り替えさせる

まずはx86_64フォルダにある64bit版。

sqlite3_64.dllをクリックしてインスペクタ。

10
EditorとStandaloneで使うようにして、
EditorのCPUをX86_64、OSをWindowsへ。

11
Standaloneの設定も、x86_x64だけチェック。



続いて32bit版のsqlite3.dllをクリックしてインスペクタ。
12

Androidだけ使ってね!


これでファイル関連の準備はOK




とりあえずデータベースを作る
わかってる人はコンソールでガリガリとかやってもいいですけど、
SQLite用の激しく優秀なGUIクライアントがありますので

PupSQLite
を使いましょう。他のクライアントもあります。お好みでどうぞ。



13

こんなスタートページがひらくので、「新規作成」をぽちっとな。



14

テーブルの名前はなんでもいいです。
とりあえず「Weapon」にしときましょう。


15
Weaponテーブルのデータ構造を作ります。


16
こんな感じでしょうか。

idフィールドをもとに他のテーブルからリンクしたりするので、idは重複したらダメなので主キーを設定します。

で、右下のOKボタンを押すと


17
データベースの保存を行います。


ここでは「GameMaster.db」としましょうか。
保存する場所はとりあえず、どこでもいいです。わかりやすい場所に。


ひとつのdbファイルの中に、テーブルはいくつでも入れられます。
というかひとつのdbファイルのなかに、使用するすべてのテーブルを作ったほうがいいです。

18

で、GameMasterデータベースの中にWeaponテーブルができました。



19

データをぽちぽち入れます。
で、Ctrl+Sで保存。



さて、今つくったGameMaster.dbを、Unity側で使えるようにしましょう。



Unityからdbファイルを扱う

20

さきほど作った「StreamingAssets」フォルダに、GameMaster.dbをドラッグ。
これでOK。

StreamingAssetsフォルダの中のファイルは、実行形式(Androidならapk)にしたときに、そっくりそのまま持ってきてくれるファイルです。
ここ以外の場所に置くと、exeやapkを作ったら再配置しなくてはならなくて面倒だそうです。


これで準備OK!

長くなったので分割します。


次回は、実際にデータベースからテーブルを呼び出してみましょう!