Unity のメモ

数年おきにやってくる「3D ゲーム制作への憧れを思い出して、ゲーム開発環境をインストールし、チュートリアルを試して終わる」という発作がまた来た。

環境

  • macOS 10.15.5
  • Unity 2019.4.4f1 Personal

インストールしたもの

Unity

Unity の最新版をインストール。Unity Hub というのを入れるかたちになった。

VS Code

VS Code 自体はインストール済みで、以下の拡張を追加した。

  • C#
  • Debugger for Unity

.NET

Unity の設定でソースコード編集に使うエディタを VS Code に変更し、C# Script を開いてみたら、VS Code 上で .NET Core をインストールするように指示が出たのでそれに従った。

ところが、それで終わりと思いきや

The reference assemblies for .NETFramework,Version=v4.7.1 were not found.

というメッセージが出た。Unity が使ってるのは .NET Core じゃなくて .NET Framework だからってことかな。

ググってみると、Qiita の記事が見つかった。

qiita.com

Homebrew で Mono を入れればいいらしい。

$ brew install mono

これを実行したところ、インストール済みのライブラリが古いみたいだよ、というメッセージが出ていたので、指示に従って以下も実行。

$ brew update

Mono のインストール先を調べる。

$ brew --prefix mono
/usr/local/opt/mono
$

これはシンボリックリンクで、リンク先は /usr/local/Cellar/mono/6.8.0.123 になっていた。先程の Qiita の記事では、このリンク先のパスを settings.json に追加していたが、シンボリックリンクでもいけるんちゃう? と思ったのでそっちを書いてみた。

    "omnisharp.useGlobalMono": "always",
    "omnisharp.monoPath": "/usr/local/opt/mono"

settings.json を変更して保存すると、OminSharp を再起動するか聞かれるので、再起動してもらう。もしくは VS Code を再起動する。

これで、無事に IntelliSense が働くようになった。

読んだもの

最初に、Unity 付属のチュートリアルから、"FPS microgame" をやってみた。あらかじめ用意された、Scene が 1 つだけ、かつ、Asset などの準備はされた状態のテンプレートを使って、Unity の基本的な UI を触ってみたり、オブジェクトをゲーム内に配置してみたりするものになっている。Unity 上にチュートリアルが表示されるので、間違えずに学べる反面、どういう仕組みでゲームを作っていくのかまでは教えてくれない。

ググってみると、ブロック崩しチュートリアルを勧めている人が多いようだが、公式サイトのチュートリアルコーナーには出てこない。なくなっちゃったのかな。

仕方がないので再度ググって、Qiita にあった、近い内容と思われるチュートリアル記事にしたがってやってみた。

qiita.com