6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UnityプロジェクトをVSCodeで編集する時、依存パッケージのコード全体が見えないことの解決方法

6
Last updated at Posted at 2025-12-20

はじめに

AI全盛になってきて、UnityプロジェクトもVSCodeで扱えた方がAIとの連携がしやすいと思うようになりました。ですが、Packageバリバリのプロジェクトを開いている場合、パッケージ側のコードなどがいい感じにVSCodeで閲覧できない現象に行き当たりました。これを解消した話です。

(2026/2/18追記)ただし、これにより、利用メモリがかなり(GB単位)増える疑いがあります。 これは、dotnetが解析する対象プロジェクトが増え、解析のために確保したメモリがアンロードされないためと推測します。

起こっていた現象

VSCodeで、プロジェクト内のソースコードから、パッケージ側のメソッドの定義を見に行くと、以下のようなパスのファイルが開きました。

/var/folders/何ちゃら/DecompilationMetadataAsSourceFileProvider/何ちゃら/クラス名.cs

このファイルは、コメントなどの入っていない、バイナリから生成したと思われるC#ソースコードになります。このコードから、さらに該当パッケージ内のクラスを辿ったり、定義をみたりすることはできませんでした。これは不便です。

例えばRiderではパッケージキャッシュ配下に実際に存在するファイルを開いてくれるので、パッケージの内容全体を調査することができます。

対策方法

Unityによって生成されるプロジェクトファイル(.csproj)に、該当パッケージの内容が含まれるようにする必要があるようです。
このため、Settings 内の External Tools で、この辺りのチェックを入れるのがポイントです。(Unity 6.0の場合)

以下の例「これをON」は、UPM管理下のパッケージの場合です。Git参照だったりtarballだったりによって、チェックする場所が異なります。

image.png

この設定により、パッケージキャッシュ (プロジェクトフォルダ/Library/PackageCache/ )配下のソースコードを開いてくれるようになります。これによって、パッケージ全体のスクリプトや構成などを容易に閲覧することができます。また、さらに定義などを潜って調べたりすることもできます。

なお、通常左側にある Explorer View には開いた該当ファイルだけが表示されます。エディターView上部にあるパスのところから、周辺ファイルを確認することができます。

そのほか基本的なこと

UnityでVSCodeを利用できるようにする方法は、各所に書かれていますが以下のような感じです。

  • Package Managerから Visual Studio Editor パッケージを追加、更新
  • Settings内のExternal Toolsで、External Script Editor ドロップダウンで Visual Studio Code[...] を選択
  • VSCodeに Unity 拡張機能を追加
    • C# Dev Kitも入る
  • 該当バージョンの .Net SDK (今回だとv9.0.x) をインストール
  • VSCodeの Reload Window コマンドまたは再起動で変更を反映

.csprojは何個作られているか?メモリ節約するには?

上記設定でしばらく利用していて、VSCode関連の利用メモリが増加しているように思いました。1プロジェクトあたり数GB〜10GB等利用しているように思われました。
解析対象プロジェクトの全体のコード量に応じて増えている可能性があるため、指針として .csproj の数をみてみました。

状況 .csproj個数 増加分
チェックなし 30個
Embedded Packagesにチェック 30個 増加なし
Local Packagesにチェック 64個 +34個
Registry Packagesにチェック 147個 +83個
Git Packagesにチェック 167個 +20個
Built-in Packagesにチェック 170個 +3個
Local tarballにチェック 188個 +17個
Packages from unknown sourcesにチェック 188個 +0個
Player projects はチェックできなかった

これを見ると、少なくとも Registry Packages にチェックを入れる場合は利用メモリの大幅増加を覚悟したほうが良さそう です。

また、プロジェクトで不要なものについてはチェックを外したほうが良さそうです。
また、一回生成した .csproj ファイルは勝手に消えないため、自分で消したほうが良いかもしれません。

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?