核心用法
Unity Plugin Skill 通过 MCP(Model Context Protocol)网关与 Unity Editor 建立双向通信,提供 50+ 个内置工具,覆盖游戏开发全流程:
- 场景管理:
scene.getActive获取当前场景,scene.load/scene.open切换场景 - 对象操作:
gameobject.find/create/destroy查找、创建、销毁对象,transform.setPosition修改 Transform - 组件操控:
component.add/get/set增删改查组件属性,支持运行时动态修改 - 调试能力:
debug.screenshot截屏(支持 Camera/Play 双模式),console.getLogs获取日志 - 输入模拟:
input.clickUI/input.type/input.keyPress模拟点击、输入、按键 - 模式控制:
app.play {state: true/false}进入/退出 Play 模式,app.pause暂停
显著优点
1. 深度集成:直接操作 Unity 内部 API,无需额外 SDK 或打包流程
2. 双向实时:支持 Editor 和 Play 模式,SessionState 保证 Play 模式切换不断连
3. 自动化友好:可通过脚本批量执行测试、截图、UI 验证等重复任务
4. 零侵入:作为 Editor 插件运行,不修改项目代码或资源
潜在局限
- Editor 依赖:必须保持 Unity Editor 开启,无法用于独立构建(Build)
- 性能开销:频繁调用可能阻塞主线程,复杂操作需考虑异步处理
- 版本兼容性:未明确支持 Unity 版本范围,API 变更可能导致工具失效
- 网络依赖:依赖 MCP Gateway 通信,局域网或远程开发需配置网络
适合人群
- 游戏开发者进行自动化测试、场景验证、UI 调试
- QA 团队执行回归测试、截图对比、日志收集
- 技术美术批量调整场景参数、生成预览图
常规风险
- 误操作风险:
gameobject.destroy等命令直接修改场景,建议配合版本控制 - 状态同步延迟:Play 模式切换后建议等待
app.getState确认状态再继续操作 - 截图模式混淆:Editor 与 Play 模式截图机制不同,需根据场景选择正确参数
- 脚本热更限制:代码修改后需显式调用
editor.refresh触发重编译