VS CodeでUnity開発を快適に!おすすめ拡張機能5選と導入のポイント

プログラミング・IT

Unityでゲームやアプリを作るとき、スクリプトを書くためのエディタには Visual Studio(VS)がよく使われますが、「重い…」「起動が遅い…」と感じたことはありませんか?

そんなときに人気なのが Visual Studio Code(VS Code) です。軽快に動き、カスタマイズ性も高く、UnityのC#スクリプトをストレスなく編集できます。

この記事では、VS CodeでUnity開発を快適にするためのおすすめ拡張機能や導入ポイント を、初心者にもわかりやすく紹介します。

スポンサーリンク

UnityでVS Codeを使うメリットとデメリット

VS Codeを選ぶメリット

軽量で高速

  • 起動時間が早い(Visual Studioの約1/3)
  • メモリ使用量が少ない
  • レスポンスが良くサクサク動作

高いカスタマイズ性

  • 必要な機能だけを拡張機能で追加
  • テーマやキーバインドを自由に変更
  • ワークスペース設定で プロジェクトごとに最適化

マルチファイル対応

  • C#スクリプト以外も一つのエディタで管理
  • Shader、JSON、XML、Markdownなど
  • Gitとの連携も標準で強力

クロスプラットフォーム

  • Windows、Mac、Linuxで同じ環境
  • 設定の同期機能あり

注意すべきデメリット

初期設定が必要

  • 標準ではUnity専用機能が限られる
  • 拡張機能の導入と設定が必要
  • OmniSharpの初回セットアップに時間がかかる

一部機能の制限

  • Visual Studioほど高度なデバッグ機能はない
  • IntelliCodeの機能が限定的
  • プロファイラーとの連携が弱い

ただし、適切な拡張機能を導入すれば、これらのデメリットはほぼ解消できます。

Unity開発におすすめのVS Code拡張機能

C# for Visual Studio Code(ms-dotnettools.csharp)

必須度:★★★★★

概要 Unityスクリプト(C#)開発に必須の拡張機能です。Microsoft公式が提供しており、C#の言語サポートを強力に提供します。

主な機能

  • インテリセンス(入力補完):クラス、メソッド、プロパティの自動補完
  • シンタックスハイライト:コードの色分け表示
  • エラー検出:リアルタイムでの構文エラー表示
  • リファクタリング:変数名の一括変更など

Unity対応機能

  • UnityEngine APIの補完対応
  • MonoBehaviourクラスの継承サポート
  • Unity固有の属性([SerializeField]など)に対応

インストール手順

  1. VS Codeの拡張機能タブ(Ctrl + Shift + X)を開く
  2. 「C#」で検索
  3. 「C# for Visual Studio Code」をインストール

初回セットアップの注意点

インストール後、OmniSharp(C#のバックエンドサービス)が起動するまで少し時間がかかります:

  • ステータスバーに?(Flame)アイコンが表示される
  • 初回は.NET SDKのダウンロードが必要な場合がある
  • プロジェクトの規模によって5分程度かかることもある

Unity Code Snippets(kleber-swf.unity-code-snippets)

必須度:★★★★☆

概要 Unity開発でよく使うコードをサクッと挿入できるスニペット集です。MonoBehaviourのメソッドやDebug.Logなどを効率的に書けます。

主なスニペット

  • startvoid Start() { }
  • updatevoid Update() { }
  • logDebug.Log();
  • mono → MonoBehaviourクラスのテンプレート

実際の使用例

// 「start」と入力してTabキーを押すと
void Start()
{
    
}

// 「log」と入力してTabキーを押すと
Debug.Log();

Shader languages support for VS Code(slevesque.shader)

必須度:★★★☆☆

概要 UnityのShaderLab(.shaderファイル)とHLSLの編集を快適にする拡張機能です。

対応ファイル形式

  • .shader(ShaderLab)
  • .hlsl(High Level Shading Language)
  • .cginc(CG Include)

主な機能

  • シンタックスハイライト
  • 基本的な入力補完
  • コードの折りたたみ機能

Shaderファイルの例

Shader "Custom/MyShader" {
    Properties {
        _MainTex ("Texture", 2D) = "white" {}
        _Color ("Color", Color) = (1,1,1,1)
    }
    
    SubShader {
        Tags { "RenderType"="Opaque" }
        
        Pass {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            
            fixed4 frag (v2f i) : SV_Target {
                return _Color;
            }
            ENDCG
        }
    }
}

Unity Debugger(Unity-Technologies.debugger-for-unity)

必須度:★★★☆☆

概要 Unity Technologies公式のデバッグ拡張機能です。実行中のUnityプロジェクトにアタッチして、ブレークポイントでの停止や変数の監視ができます。

主な機能

  • ブレークポイント:コードの特定行で実行を停止
  • 変数ウォッチ:変数の値をリアルタイムで監視
  • ステップ実行:1行ずつコードを実行
  • コールスタック表示:メソッド呼び出しの履歴確認

デバッグの基本手順

  1. Unityでプロジェクトを実行
  2. VS Codeでデバッグビューを開く(Ctrl + Shift + D
  3. 「Attach to Unity」を選択
  4. ブレークポイントを設定して F5 でデバッグ開始

Rainbow Brackets(2gua.rainbow-brackets)

必須度:★★☆☆☆

概要 カッコ({}[]())を色分けして表示する拡張機能です。入れ子が深いUnityコードでも構造が分かりやすくなります。

効果的な場面

  • 複雑なif文やfor文の組み合わせ
  • JSONやXMLファイルの編集
  • Shaderコードの構造把握

色分け例

public class PlayerController : MonoBehaviour {  // 青
    void Update() {  // 赤
        if (Input.GetKey(KeyCode.Space)) {  // 緑
            transform.Translate(Vector3.up * Time.deltaTime);  // 青
        }
    }
}

UnityとVS Codeを連携させる設定

Unity側の基本設定

External Script Editorの変更

  1. Unityを起動してプロジェクトを開く
  2. メニューから EditPreferences(Mac: UnityPreferences
  3. External Tools を選択
  4. External Script Editor を以下に設定:
    • Windows: C:\Users\[ユーザー名]\AppData\Local\Programs\Microsoft VS Code\Code.exe
    • Mac: /Applications/Visual Studio Code.app

プロジェクトファイル生成の設定

以下の項目にチェックを入れることで、VS Codeでの補完機能が向上します:

  • Regenerate project files
  • Embedded packages
  • Local packages
  • Local tarball
  • Git packages
  • Built-in packages

VS Code側の設定

ワークスペース設定

プロジェクトフォルダに .vscode/settings.json を作成:

{
  "files.exclude": {
    "**/.DS_Store": true,
    "**/.git": true,
    "**/.gitmodules": true,
    "**/.vs": true,
    "**/.vsconfig": true,
    "**/Library": true,
    "**/obj": true,
    "**/Temp": true
  },
  "omnisharp.defaultLaunchSolution": "*.sln",
  "dotnet.completion.showCompletionItemsFromUnimportedNamespaces": true
}

launch.jsonの設定

デバッグ機能を使う場合、.vscode/launch.json を作成:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Unity Editor",
      "type": "unity",
      "path": "/Applications/Unity/Hub/Editor/2022.3.10f1/Unity.app",
      "request": "launch"
    },
    {
      "name": "Attach to Unity Editor",
      "type": "unity",
      "request": "attach"
    }
  ]
}

連携確認の手順

  1. Unity でスクリプトファイルをダブルクリック
  2. VS Code が起動して該当ファイルが開かれる
  3. VS Code の右下に「Unity」と表示される
  4. OmniSharp が正常に動作していることを確認

よくあるトラブルと対処法

インテリセンス(補完)が効かない

症状

  • クラス名やメソッド名の補完が表示されない
  • エラー表示が正しく動作しない
  • UnityEngine.〇〇 が認識されない

対処法1:OmniSharpの再起動

  1. Ctrl + Shift + P でコマンドパレットを開く
  2. 「OmniSharp: Restart OmniSharp」を実行
  3. 数分待ってから動作確認

対処法2:プロジェクトファイルの再生成

  1. Unity で AssetsOpen C# Project をクリック
  2. VS Code でプロジェクトが正しく読み込まれるか確認
  3. 必要に応じて Unity を再起動

対処法3:.NET SDKの確認

# ターミナルで .NET SDK のバージョン確認
dotnet --version

# 6.0 以上が必要(2023年現在)

ブレークポイントが止まらない

症状

  • ブレークポイントを設定しても実行が止まらない
  • デバッガーがアタッチできない

対処法1:Unity側の設定確認

  1. Unity の FileBuild Settings
  2. Development Build にチェック
  3. Script Debugging にチェック

対処法2:デバッグ手順の確認

  1. Unity でプレイモードに入る
  2. VS Code で F5 を押す
  3. 「Attach to Unity Editor」を選択
  4. プロセス一覧から Unity エディタを選択

対処法3:ファイアウォールの確認

Windows の場合、ファイアウォールが通信をブロックしている可能性があります:

  1. Windows Defender ファイアウォールを開く
  2. 「アプリまたは機能の許可」をクリック
  3. Unity Editor と VS Code が許可されているか確認

パフォーマンスの問題

症状

  • VS Code の動作が重い
  • ファイル保存時に数秒かかる

対処法1:不要なファイルの除外

.vscode/settings.json で除外設定を追加:

{
  "files.watcherExclude": {
    "**/Library/**": true,
    "**/Temp/**": true,
    "**/obj/**": true,
    "**/.git/**": true
  }
}

対処法2:OmniSharpの設定調整

{
  "omnisharp.enableEditorConfigSupport": true,
  "omnisharp.enableImportCompletion": true,
  "omnisharp.enableRoslynAnalyzers": false
}

より効率的な開発のためのテクニック

Git連携の活用

.gitignoreの設定

Unityプロジェクト用の .gitignore ファイル例:

# Unity generated
[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild/
[Bb]uilds/
[Ll]ogs/
[Uu]ser[Ss]ettings/

# VS Code
.vscode/

# OS generated
.DS_Store
Thumbs.db

コードスニペットのカスタマイズ

独自のスニペットを作成して効率化:

  1. FilePreferencesConfigure User Snippets
  2. csharp.json を選択
  3. カスタムスニペットを追加
{
  "Unity Singleton": {
    "prefix": "singleton",
    "body": [
      "public static ${1:ClassName} Instance { get; private set; }",
      "",
      "void Awake()",
      "{",
      "    if (Instance == null)",
      "    {",
      "        Instance = this;",
      "        DontDestroyOnLoad(gameObject);",
      "    }",
      "    else",
      "    {",
      "        Destroy(gameObject);",
      "    }",
      "}"
    ]
  }
}

タスクの自動化

.vscode/tasks.json でビルドタスクを設定:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Build Unity Project",
      "type": "shell",
      "command": "/Applications/Unity/Hub/Editor/2022.3.10f1/Unity.app/Contents/MacOS/Unity",
      "args": [
        "-batchmode",
        "-quit",
        "-projectPath",
        "${workspaceFolder}",
        "-buildTarget",
        "StandaloneOSX"
      ],
      "group": "build"
    }
  ]
}

まとめ

VS Codeは適切な拡張機能を導入することで、Unity開発を軽快かつパワフルにサポートしてくれます。重要なポイントをまとめると:

必須の拡張機能

  • C# for Visual Studio Code:C#開発の基盤
  • Unity Code Snippets:効率的なコード入力

推奨の拡張機能

  • Shader languages support:Shader開発時に便利
  • Unity Debugger:高度なデバッグが必要な場合
  • Rainbow Brackets:コードの可読性向上

設定のポイント

  • Unity側の External Script Editor 設定
  • プロジェクトファイル生成オプションの有効化
  • VS Code のワークスペース設定

トラブル対策

  • OmniSharp の状態確認と再起動
  • .NET SDK のバージョン確認
  • ファイアウォール設定の確認

コメント

タイトルとURLをコピーしました