RoslynによるScript検証
MCP for Unityは既定で、LLM が生成したscriptに対して高速な構造検証を行います。完全なUnity compileを実行せず、書き込み時点で未定義namespace、type、methodまで検出したい場合は、任意機能のRoslyn DLLを導入します。
多くの用途では不要です。次のような場合に有効化します。
- LLMへ大量のC#生成を任せ、より厳密なfeedback loopが必要
- 構造検証を通過したcompile errorが繰り返し発生する
- symbol resolutionの正確さを必要とするcustom toolを作る
1-click installer(推奨)
- Window → MCP for Unity を開きます。
- Scripts / Validation tabの Runtime Code Execution (Roslyn) まで移動します。
- Install Roslyn DLLs を押します。
installerは必要なNuGet packageを取得し、DLLをAssets/Plugins/Roslyn/へ配置して、Scripting Define SymbolsへUSE_ROSLYNを追加します。
Window → MCP for Unity → Install Roslyn DLLs からも実行できます。
手動導入(installerが使えない場合)
- NuGetForUnityを導入します。
- Window → NuGet Package Manager を開きます。
- 次を導入します。
Microsoft.CodeAnalysisv5.0SQLitePCLRaw.corev3.0.2SQLitePCLRaw.bundle_e_sqlite3v3.0.2
- Player Settings → Scripting Define Symbols に
USE_ROSLYNを追加します。 - Unityを再起動します。
DLLを直接導入する
- NuGet.orgから
Microsoft.CodeAnalysis.CSharp.dllと依存DLLを取得します。 Assets/Plugins/Roslyn/へ配置します。- 使用中のUnity versionに合う.NET互換設定を確認します。
- Scripting Define Symbolsへ
USE_ROSLYNを追加します。 - Unityを再起動します。
有効化を確認する
再起動後、MCP for Unityのstatus panelでScripts sectionの Roslyn: enabled を確認します。validate_scriptは構造検証ではなくsemantic analysisを実行するようになります。
無効化する
Scripting Define SymbolsからUSE_ROSLYNを削除します。pluginは構造検証へ戻ります。Assets/Plugins/Roslyn/のDLLは残しても削除しても構いません。