macのUnityのゲーム制作でDBを扱うためにSQLite-netを導入したい時のメモ
理論よりもまずは動かしたい
mac向けのためWindowsでは手順が異なる場合があります。
結論 macのUnityでSQLite-netを使う方法、テーブル作成、挿入、表示、削除まで
理論はわからずとも、動くようにします!
SQLite.csを入手して、プロジェクトのAsset内に置く
このgitからSQLite.csを入手します。
UnityプロジェクトのAssets内にSQL用のフォルダを好きな名前つくります。SQLiteNetを作成しました。

そのフォルダに先ほどダウンロードした、SQLite.csを置きます。
macのUnityでSQLite-netを使いテーブル作成、挿入、表示、削除
テーブル作成、挿入、コンソール表示、テーブル削除(削除処理はコメントアウト中)のソースコードを用意しました。ので、これをダウンロードし、先ほど作成したSQL用のフォルダに配置します。
てきとうなオブジェクトをおいてアタッチします。
今回はスクエアのオブジェクトを作りました。

選択し、インスペクタービューでテスト用スクリプトをドラッグドロップで紐づけました。
こうすれば、ゲームを実行した瞬間に四角が読み込まれ、アタッチされたスクリプトも動きます。

実行したら、テーブルが作成され、挿入され、挿入されたレコードを取得してログに表示しています。
2回実行してるので3x2でアイテムが6個入っています。

わからなくても動けば正義
GUIでmacのUnityでSQLite-netを使用する方法
↑までの方法は、C#を作成し、オブジェクトにアタッチしてStart()の中に処理を記載し、ゲームを実行することで一連のDB処理が流れるものでした。
そのままだとゲーム作成をしながらDB編集をするのが複雑になってしまうので、GUIで操作します。
Unityとは別のアプリケーションで、ゲームで呼び出す用のDBだけを編集します。
DBの実態はどこにあるのか
先ほどの私のgitにあるスクリプトを実行した場合、ゲームのホームディレクトリに「game.db」が作成されています。
これがDBファイルで、この中にテーブルのデータが入っています。

Unityとは別のツールでこの.dbファイルをいじってテーブルを更新すれば、Unityのゲームからも同じテーブルを参照して、
追加アドオンを入れたり、メニューを実装しなくても視覚的にテーブルを編集できます。
DB Browser for SQLiteで.dbを視覚的に扱う
DB Browserを使用します。
ダウンロードしてインストールします。
DB Browser を起動し、先ほどのゲームで使用しているgame.dbをドラックドロップします。

これでUnityのゲームで使用するDBファイルをUnity外からGUIで更新する準備が整いました。
今後、UnityでDBを扱いたい時にNew Databaseを押して、ゲーム用フォルダ内に空っぽのDBをつくったもできるようになしました。
コメント