Unity Plus

43,995円 /月



Unity Pro


198,000円 /月

Unity認定資格

Unity学習
基本英語です

50%OFFセール中だ!!

セール終了まで

{{timeleftshow}}


今日だけのセール:70%OFF
{{todaysaleleft}}

Unity内でMySQLを使う

上のサイトを参考にUnityでMySQLを直接使ってみました。英文なのでGoogle翻訳フル活用。英語読めるようになりたい。

まとめると、

C#用のMySQLドライバを、Unityにインポートすることの解説です。

最終的に成功したけど、よくわかんなかった……。

PHPとか使ってデータベースにアクセスする記事はあったけど、Unity内で直接使うのはあまり見なかったので書いてみます。

前提として、

  1. MySQLのデータベース自体は作成済み。
  2. C#のランタイムバージョンを4.xに。
  3. MySQLのDLL自体の詳細は公式のドキュメントとかで別途調べる。

ダウンロードと解凍

このサイトからDLLをダウンロードします。

Select Operating Systemを.NET&MONOにします。で、ダウンロード開始。

手ごろな場所に解凍して、UnityのPluginsフォルダにドロップします。

複数のDLLファイルがありますが、これ以外はエラーが出て読み込めませんでした。

データベースを使うだけなら、MySQL.data.dllだけあれば使えるので良しとすることに。

もしMySQL.dataも使えなかったら古いバージョンのMySQLドライバをダウンロードしてみる。

で、MySQL.data.dllをインポートすると

みたいなエラーが出る。

これを解決するために、

自分のPCの、<Unityをダウンロードしたフォルダ>\Unity\Hub\Editor\2018.2.13f1\Editor\Data\MonoBleedingEdge\lib\mono\unityjit

からSystem.Data.DllをPluginsフォルダに入れる。

こうすればとにかく使えました。

このSystem.Data.DLLがいろんなフォルダにあるんですが、unityjitフォルダ以下のやつじゃないとエラーになった……。

最終的にこんな感じのフォルダ構成になりました。

あとEdit➡ProjectSettings➡Player➡OtherSettingsから

ScriptingRuntimeVersionを4.xにしておく。

試しに使ってみる。

これでPHPとかを使わずにUnity内でMySQLを使えるようになりました。

しかし、.NETのバージョンも対応してると思うんだけど、どうしてMysql.data.entity.dllとかは使えないんだろう?

コメント

  1. よんいち より:

    こんにちは。
    unityで MySQLのDBに接続しようとしていて、ここにたどりつきました。
    書かれているコード、とても参考になりました!!
    が、
    「Exception」の箇所は
    「MySqlException」が正解ではないでしょうか?
    この箇所でコンパイルエラーがでたので、いろいろ検索していたら、
    C#からMySQLに接続する
    https://dianxnao.com/c%E3%81%8B%E3%82%89mysql%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B/
    このサイトの記述で解決しました。

    • げんとめ(管理人) より:

      ご指摘ありがとうございます。
      訂正しておきました。
      自分の環境でもコンパイル時にエラーが出てたのかもしれませんが、そのまま記事にしてしまったのかもしれません。
      惑わせてしまって申し訳ないです。