VS CodeをUnityのC#コードエディタとして利用する手順
- Unity for Visual Studio Code(以下二つも同時にインストールされる)
- (C#)
- (C# Dev Kit)
インストール
- Unityのバージョンは最低でも2021。
- Visual Studio Code(VS Code)をインストール
- 前述のMicrosoft製「Unity for Visual Studio Code」をインストール。機能拡張のインストール法などは「Extension Marketplace」。
前述の通り、この機能拡張に必要な C#、C# Dev Kitなど依存関係にある機能拡張も同時にインストールされる。
Unity側のセットアップ
Window > Package ManagerからPackagesのところを「Unity Registry」にして「Visual Studio Editor」が2.0.20 以降になっていることを確認。
※ この↑スクリーンショットは古いままになっている状態です。右下の「Update to 2.0.22」を押すとアップデートされます。
※ Visual Studio Code Editorというのもありますが、これは古いもののようです。
Unity側のパッケージ「Visual Studio Editor」が古いままになっていると、VS Codeでそのプロジェクトを開いたときに右下にこのようなアラートが出ます。
Unity パッケージ ‘Visual Studio Editor’ のバージョンが古すぎます。Unity のパッケージ マネージャーでバージョン 2.0.20 以降に更新してください。
Unityの外部エディタとしてVS Codeを設定
Unity > Settings で環境設定を開き、「External Tools」の「External Script Editor」で「Visual Studio Code」を選択。
これでもう外部エディタとしてVSコードの設定が行えたので、スクリプトファイルをダブルクリックしてみると、VS Codeが立ち上がります。
そのプロジェクトフォルダを信用するかといったダイアログが出るので、当然今まで信頼して作業してきたフォルダでしょうから「Yes, I trust」の方を選択。
その後、gitに許可するかどうかなど聞かれる場合もあるので、Macのログインパスワードを入力して許可。
「C#機能拡張を使用する」を選択して、ウィンドウを再読み込み。初回設定後、Unityから.csファイルをダブルクリックして起動した場合と、ファイルメニューからフォルダを開くでプロジェクトフォルダを開いた場合とで挙動が変わる?ようなので要注意。
追記:ここの其の壱も参考に。
VS Codeデバッガー
上記のUnity パッケージ「Visual Studio Editor」が古いままだとデバッガーが使えない。「Debugger for Unity」を使う方法がネット上で見つかるが、2022年以前の記事はレガシーな方法の模様。
Unity パッケージ「Visual Studio Editor」が古いままの状態でデバッガーを見ると「実行とデバッグ」と表示されるが、
これも2.0.20へアップデートすると、「Attach to Unity」という項目とともにデバッガー画面が表示される。
その横の再生ボタンが「デバッグの開始」ボタン。Unity Editorは自動再生されない?ので自分で再生(方法あるかも)。そしてデバッグを停止するボタンがないぞ、と思ったら「切断」というプラグを外したようなアイコンがデバッグ停止。
VS Codeは起動も速いけど、デバッガーもかなり身軽に動いてくれる。
VS Code側の設定
起動するとある程度使えそうですが、まず膨大な .meta ファイルが表示されてしまっているので、以下の手順で非表示に。
- Code > 基本設定 > Settings(⌘(cmd) + ,)でSettingsを開く
- 「exclude」で検索
- Files: Exclude で「Add Pattern」を押し、「**/*.meta」と入力してOK
瞬時にEXPLORERから .meta ファイルが非表示になると思います。
他にもUnityのコード編集に便利そうなVS Code用機能拡張があったら、Unityタグ、 VS CodeタグをつけてMEMOしておこうと思います。
東京造形大学卒業後、マクロメディア(現アドビ)に入社。QAやテクニカルサポートマネージャーとしてFlash、DreamweaverなどのWeb製品を担当。独立後、2007年に虫カゴデザインスタジオ株式会社を設立。2021年東京三鷹を拠点に。最近は、Unity, Unity Netcode for GameObjects, CakePHP, Laravel, ZBrush, Modo, Adobe Substance 3D, Adobe Firefly, Xcode, Apple Vision Pro, Firebaseにフォーカスしています。モバイルアプリ開発情報を主としたブログ「MUSHIKAGO APPS MEMO」の中の人。