debugger for unity 插件在2026年已彻底失效,必须改用unity官方维护的unity tools插件(id: unity.unity-tools),配合c# dev kit,正确配置launch.json为"type": "unity"和"request": "attach",并确保unity启用生成.csproj文件、omnisharp强制走mono路径、项目重新导出干净工程文件。

Debugger for Unity 插件在 2026 年已彻底失效,官方明确停止维护,且与当前 VSCode(1.85+)、C# Dev Kit(ms-dotnettools.csdevkit)和 Unity 2021.3+ / 2022.3+ 存在不可修复的依赖断裂——不是配置问题,是插件本身已无法激活。必须切换到 Unity 官方支持的调试路径。
Unity 插件替代 Debugger for Unity
VSCode 中唯一被 Unity 官方集成并持续维护的调试能力,来自 Unity Tools 插件(ID: unity.unity-tools),它内置 Unity Debugger 语言服务,不再依赖外部 Debugger for Unity。旧插件在扩展市场仍可见,但安装后状态栏会显示“incompatible”或根本无响应。
- 卸载所有旧调试相关插件:
Debugger for Unity、C#(ms-dotnettools.csharp,旧版)、OmniSharp手动安装包 - 只保留两个插件:
Unity Tools和C# Dev Kit(ms-dotnettools.csdevkit) - 重启 VSCode 后,右下角状态栏应出现
.NET SDK: 6.0.x或8.0.x,且提示Unity: Ready
launch.json 必须手动配置为 Unity Debugger 类型
VSCode 默认生成的 .NET Core 或 .NET 6+ 调试配置对 Unity 无效——Unity 不是托管 DLL 的独立进程,而是需要附加到正在运行的 Unity Editor 进程。自动生成的 launch.json 若存在,必须删除并重建。
- 确保 Unity 编辑器已启动(哪怕只是空场景),且处于 Play 模式或暂停状态
- 在 VSCode 中按
Ctrl+Shift+P(Win)或Cmd+Shift+P(Mac),输入Debug: Open launch.json - 选择
Unity Debugger环境(不是 .NET Core!不是 C# Attach!) - 生成的配置中必须包含
"type": "unity"和"request": "attach",否则断点不会命中
OmniSharp 必须强制走 Mono 路径(尤其 macOS/Linux)
Unity 使用 Mono/IL2CPP 运行时,而 OmniSharp 默认尝试调用系统 dotnet,导致 UnityEngine 类型无法解析、跳转失败、断点灰化。Windows 用户也需显式指定 Mono 路径,不能依赖 .NET SDK。
- macOS/Linux:设置
omnisharp.useGlobalMono为always,并填入omnisharp.monoPath(如/usr/local/bin/mono) - Windows:需单独安装 Mono(非 .NET SDK),然后在设置中填写完整路径,例如
C:\Program Files\Mono\bin\mono.exe - 禁用
omnisharp.useModernNet(设为false),避免 OmniSharp 尝试加载 .NET 8 运行时 -
omnisharp.path必须清空或设为"latest",任何硬编码路径都会触发 dotnet fallback
Unity 必须重新导出干净的 .csproj 文件
VSCode 的 C# Dev Kit 不会扫描 Assets 或 Library 下的临时文件;它只信任 Unity 主动导出的 Assembly-CSharp.csproj。如果项目里已有旧 .csproj 或 .sln,OmniSharp 会加载失败并静默退出。
- 在 Unity 编辑器中,确认无编译错误,然后点击
Assets → Open C# Project - 关闭 VSCode,删掉项目根目录下的:
.vscode/、*.csproj、*.sln、obj/、bin/ - 回到 Unity,再次执行
Assets → Open C# Project,等待右下角提示Project files generated - 此时再用 VSCode 打开项目根目录(不是 Assets 文件夹!),C# Dev Kit 才会加载成功
最常被忽略的一点:Unity 编辑器 Preferences → External Tools → 必须勾选 Generate .csproj files for Unity projects,否则 Open C# Project 按钮是灰色的,整个流程从第一步就卡死。











