注意喚起
2023/6現在 VSCodeに対応している最新のUnityは2021.3.xです。Unity最新版の2022.3.xはVSCodeに対応しておらず、以下の様なエラーメッセージが表示されます。
External Code Editor application path does not exist (/Applications/Visual Studio Code.app)! Please select a different application
概要
Unityの書籍で環境構築の方法を参照すると、UnityはC#ベースということもあり、十中八九Visual Studio1のインストールが求められます。しかし、筆者の個人的な意見としてVisual Studioは非常に鈍重でディスク領域を激しく消費2します。そこで、可能であるならば、Visual Studio Code(以下、VSCode)を利用出来ないかと考えました。VSCodeはVisual Studioと名前は似ていますが、似て非なる物で、動作は軽快でカスタマイズ性も高く気に入っています。調べてみると情報が出て来る出て来る出て来る。。。しかし、情報が多すぎてどれを頼りにすれば良いのか困ってしまいます。公式情報は英語版のみ発見しました。そこで、英語版の公式情報をベースに独自に備忘録をまとめておくことにしました。その結果が本記事です。
Unityのインストール
Unityのインストール方法は以下のサイトに3つのステップに分けて記載されています。ここを参照してUnity Hub、Unityのインストールを実施して下さい。
VSCodeのインストール
VSCodeは以下のサイトからインストーラーをダウンロードし、インストールします。
2023/6/16修正 .NET SDK及びMonoのインストール方法としてHomebrewを採用していましたが、VSCodeにおける.NET及びMonoのPATHのデフォルト値とHomebrewでインストールした場合のPATHが異なるため、設定変更に手間を要することが分かりました。よってインストーラーをダウンロードする方法を採用します。PATH設定を変更しない場合、"Some projects have trouble loading. Please review the output for more details"が発生します。
.NET SDKのインストール
.NET SDKをインストールします。以下のサイトからインスーラーをダウンロードするとインストール出来ます。
以下を参照するとアップデートは盛んに行われていることが窺い知れます。本当はLTS版をインストールしたかったのですが、タイミング的にバージョン7を今回はインストールします。
Monoのインストール
Monoの最新バージョンをインストールします。これはVSCodeのバグ?を回避する目的であり、インストールしない場合、"Some projects have trouble loading. Please review the output for more details"というエラーメッセージが表示されます。インストーラーを以下のサイトからダウンロードしてインストールします。
ここでインストールしたMonoはUnityのインストール時にインストールされたMonoとは干渉しないとのことです。
VSCode C#拡張機能のインストール
VSCodeのC#拡張機能をインストールします。
code --install-extension ms-dotnettools.csharp --force
$ code --install-extension ms-dotnettools.csharp --force
Installing extensions...
Installing extension 'ms-dotnettools.csharp'...
(node:6286) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `Electron --trace-deprecation ...` to show where the warning was created)
Extension 'ms-dotnettools.csharp' v1.25.9 was successfully installed.
VSCode Unity拡張機能のインストール
Unity独自のメソッドなどを補完してくれる拡張機能をインストールします。
code --install-extension kleber-swf.unity-code-snippets --force
$ code --install-extension kleber-swf.unity-code-snippets --force
Installing extensions...
Installing extension 'kleber-swf.unity-code-snippets'...
(node:17602) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `Electron --trace-deprecation ...` to show where the warning was created)
Extension 'kleber-swf.unity-code-snippets' v1.3.0 was successfully installed.
Omnisharp: Use Modern Netの設定変更
VSCode上で設定を起動し、下図の様にOmnisharp: Use Modern Net
のチェックボックスをオフにします。
デフォルトエディターをVSCodeに設定
UnityのPreferenceを起動し、External Tools > External Script Editor
をVisual Studio Code
に設定します。
まとめ
UnityのデフォルトエディターをVSCodeに設定する方法を紹介しました。VSCodeが普及して久しい今日、デフォルトはVSCode、オプションはVisual Studioになってくれる時が来ることを願ってこの記事を締めくくりたいと思います。
Reference