同时操控多个Unity项目:Unity-Skills端口发现、全局注册表与实例锁定完全指南
【免费下载链接】Unity-SkillsAI automation skills specifically designed for Unity项目地址https://gitcode.com/gh_mirrors/un/Unity-Skills点击查看免费下载Unity-Skills 是专为 Unity 编辑器打造的 AI 自动化插件它为每个打开的 Unity 项目启动一个本地 REST 服务器让 AI 客户端如各类编程助手可以真正动手操作场景、资源与脚本。当你同时打开多个 Unity 项目时最头疼的问题是该连哪个端口会不会操作错项目本文带你完整理解 Unity-Skills 的端口发现、全局注册表与实例锁定三大机制快速解决多项目并行开发场景下的 AI 自动化难题。为什么多项目并行会连错服务器传统做法里工具往往写死localhost:8090这样的固定端口。但 Unity-Skills 的设计是每个 Unity 编辑器实例各自占用一个端口。当你在同一台电脑上打开 3 个 Unity 项目就会有 3 个 UnitySkills 服务器同时在跑。如果客户端猜端口就可能出现你以为在操控 A 项目实际请求打到了 B 项目的编辑器上——AI 把场景对象创建到了错误的工程里。这正是 Unity-Skills 要用三层机制解决的核心问题端口发现项目自动认领空闲端口客户端自动找到正确的端口全局注册表一份共享文件记录所有在线实例的身份信息实例锁定客户端锁定目标项目连错时服务端直接拒绝端口发现机制8090–8100 自动认领UnitySkills 服务器启动时不会抢固定端口而是按顺序探测 8090 到 8100 的端口范围按启动顺序认领第一个空闲端口第一个启动的编辑器拿到8090第二个启动的拿到8090已被占用自动落到8091以此类推最多支持 11 个并发实例这个逻辑实现在 SkillsHttpServer.cs 的启动流程中先尝试用户偏好的端口失败则逐个扫描直到找到可用端口。因此要牢记一条关键原则端口号 ≠ 项目身份。编辑器重启、重新编译后端口可能变化任何记死端口的做法都不可靠。全局注册表所有实例的户口本比端口探测更可靠的方案是 Unity-Skills 的全局注册表——一份位于用户主目录下的 JSON 文件~/.unity_skills/registry.json每个 Unity 实例启动服务器时都会把自己的身份信息写入这份文件核心字段包括字段含义id实例唯一 ID项目名 路径哈希跨进程稳定name/path项目名与项目路径port/pid当前端口与进程号last_active最近心跳时间unityVersionUnity 编辑器版本statusrunning/reloading/stopped这个服务由 RegistryService.cs 实现几个细节值得新手注意心跳保鲜运行中的实例每 30 秒发一次心跳超过 120 秒没有心跳的条目会被判定为僵尸并自动清理见 Heartbeat 方法。原子写入多个编辑器进程同时写同一份文件靠跨进程文件锁 临时文件原子替换保证不互相覆盖见 AtomicReadModifyWrite。重载感知Unity 重新编译脚本域重载时实例不会从注册表消失而是标记为reloading客户端会原地等待它复活而不是转投其他项目。客户端读取注册表时同样内置活性判断规则与服务器侧的清理逻辑保持一致相关实现见 unity_skills.py。实例锁定如何确保只操作对的项目端口发现解决了连得上实例锁定解决连得对。这里有双向保护。客户端自动锚定当前项目内置 Python 客户端的自动发现策略_find_first_available遵循一个非常贴心的优先级当前工作目录属于哪个已注册项目就连哪个——你在 A 项目目录里跑命令就绝不会碰 B 项目若当前目录不属于任何项目按心跳新鲜度尝试其他存活实例最后兜底扫描 8090–8100 全部端口一旦锁定目标客户端会记住该实例的instanceId并在后续每个请求上都携带它。就算目标项目正在重新编译客户端也会在同端口原地等待它复活而不是悄悄切换到你不想动的项目。服务端连错了就直接 409 拒绝反向的保险在服务端请求可以通过查询参数或 HTTP 头声明我期望操作的是谁expectInstance/X-Expect-Instance精确的实例 IDexpectProject/X-Expect-Project项目名或项目文件夹名如果请求打到了不是你的编辑器上服务器什么都不会执行而是返回409 INSTANCE_MISMATCH错误体里会列出所有在线实例、各自的端口和状态并附上应该把请求重发到哪个端口的修复建议。这套守卫逻辑实现在 SkillsHttpServer.InstanceExpectation.cs错误体构建见 BuildInstanceMismatchResponse。此外所有响应都会附带X-Unity-Instance与X-Unity-Project响应头/health接口也返回projectName和instanceId——你可以随时验证回答我的到底是哪个编辑器这部分协议细节可参考 SKILL_FULL.md 的 Boot Handshake 章节。实战清单多项目协作的 5 个最佳实践启动前先看注册表用python unity_skills.py --list-instances打印所有存活实例名称、路径、端口、Unity 版本再决定连谁用身份而不是端口指定目标客户端支持--port n、--version 2022、按项目名/实例 ID 匹配target参数比裸端口可靠得多见 客户端构造函数编辑器重启后重新探测端口可能在重启后变化不要复用会话中记下的旧端口看到 409 就停下收到INSTANCE_MISMATCH说明打错了项目按错误体里的建议改端口重发而不是硬试批量操作前核对 projectName每个项目的服务器都独立操作场景、批量写资源前先确认/health返回的项目名与你的目标一致相关文档与源码入口资源路径注册表服务心跳、状态、原子写SkillsForUnity/Editor/Skills/RegistryService.cs服务器启动与端口探测SkillsForUnity/Editor/Skills/SkillsHttpServer.cs监听循环与实例守卫入口SkillsForUnity/Editor/Skills/SkillsHttpServer.Listener.cs实例期望与 409 响应构建SkillsForUnity/Editor/Skills/SkillsHttpServer.InstanceExpectation.csPython 客户端端口发现SkillsForUnity/unity-skills~/scripts/unity_skills.py发现协议参考SkillsForUnity/unity-skills~/references/protocol-discovery.md运行模式与多实例握手SkillsForUnity/unity-skills~/references/protocol-operating-mode.md常见问题问最多能同时开几个 Unity 项目答端口池 8090–8100 共 11 个端口理论上支持最多 11 个 UnitySkills 服务器并发。问注册表文件损坏或丢失了怎么办答注册表是可重建的——任何编辑器重启服务器都会重新写入自己的条目客户端在读不到注册表时会自动退化为端口扫描不影响基本连接。问reloading 状态会卡住 AI 吗答不会。客户端对reloading实例会按健康检查上报的超时上限默认 120 秒原地等待并轮询期间每 1.5 秒复查一次注册表实例复活后立即继续无需人工干预。掌握端口发现、全局注册表与实例锁定这三层设计后你就可以放心地在同一台机器上并行多个 Unity 项目让 AI 自动化各回各家、各找各妈——这也是 Unity-Skills 多实例架构最优雅的地方。赞分享【免费下载链接】Unity-SkillsAI automation skills specifically designed for Unity项目地址https://gitcode.com/gh_mirrors/un/Unity-Skills点击查看免费下载相关推荐让AI直接操控Unity编辑器Unity-Skills REST自动化引擎完全指南让AI直接操控Unity编辑器Unity Skills REST自动化引擎完全指南 Unity Skills 是一个 基于 REST API 的 AI 驱动Unity MCP manage_packages 工具完全指南查询、安装、移除与注册表管理的统一入口Unity MCP manage_packages 工具完全指南查询、安装、移除与注册表管理的统一入口 manage_packages 是 Unity MCPMCP 服务AI 应用游戏开发工具调用从零开始为什么你需要尝试FreeCAD这款开源3D建模软件从零开始为什么你需要尝试FreeCAD这款开源3D建模软件 如果你正在寻找一款功能强大、完全免费的开源3D建模工具那么FreeCAD绝对值得你深入了解。作桌面应用3D建模图形学工业制造创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

RUST 图解 第 3 章:通用编程概念(Common Programming Concepts)

RUST 图解 第 3 章:通用编程概念(Common Programming Concepts)

第 3 章:通用编程概念(Common Programming Concepts) 章节概要 本章涵盖变量与可变性、标量与复合数据类型、函数定义、注释规范以及控制流(if/loop/while/for)等通用编程概念。 本章图解 目录 3.1 变量与可变性&a…

2026/10/11 17:32:20 阅读更多 →
真空共晶焊常见缺陷与交期保障复盘

真空共晶焊常见缺陷与交期保障复盘

去年秋天,我跟着老周跑了三趟客户现场,都是同一批功率器件模块的焊接问题。老周在一家封装厂干了十几年工艺,说话直来直去。第三次去的时候,他指着显微镜下的焊层说:“你看这空洞,像不像蜂窝煤?…

2026/10/11 17:32:20 阅读更多 →
Java冒泡排序从入门到精通:原理、代码实现与面试考点

Java冒泡排序从入门到精通:原理、代码实现与面试考点

做Java开发,数组和集合打交道多了,排序是绕不开的操作。Java里Arrays.sort()一行就能解决问题,但“会用API”和“懂排序原理”是两码事。这篇博文聊聊排序算法里的入门第一课——Java冒泡排序,面向零基础读者,从原理讲…

2026/10/11 17:31:19 阅读更多 →

最新新闻

全国水系矢量数据:可计算的地理底图骨架与空间分析实战指南

全国水系矢量数据:可计算的地理底图骨架与空间分析实战指南

简介:本资源为全国水系矢量数据集,面向GIS初学者、地理信息专业学生、城乡规划与水利相关从业者,解决基础空间分析中缺乏权威、分级清晰的中国水系底图问题。压缩包共27个文件,含6组shp(几何)、dbf&#xf…

2026/10/11 18:18:47 阅读更多 →
SAM+UNet息肉分割实战:边界先验注入与调参避坑指南

SAM+UNet息肉分割实战:边界先验注入与调参避坑指南

简介:本资源面向医学图像分割方向的研究者与开发者,提供一套在Unet基础上引入SAM提示框机制的息肉肿瘤语义分割完整方案,适合具备一定深度学习基础、希望复现或改进医学分割模型的中高级学习者。压缩包共2000个文件,约263.61MB&am…

2026/10/11 18:18:47 阅读更多 →
YOLOv8+PyQt5课堂行为检测系统:从数据集训练到界面部署全攻略

YOLOv8+PyQt5课堂行为检测系统:从数据集训练到界面部署全攻略

简介:基于YOLOv8与PyQt5的课堂检测系统完整实现,面向教育技术研究者、计算机视觉初学者及有课堂管理需求的学校/机构,解决传统人工课堂监控效率低、无法实时量化学生行为的问题。系统利用YOLOv8目标检测算法进行高精度实时推理,通…

2026/10/11 18:18:47 阅读更多 →
一条命令完成模型后训练:DataArc SynData Toolkit的SFT与GRPO训练完全指南

一条命令完成模型后训练:DataArc SynData Toolkit的SFT与GRPO训练完全指南

【免费下载链接】DataArc-SynData-Toolkit Synthetic Data Generation Platform By DataArcTech 项目地址: https://gitcode.com/gh_mirrors/da/DataArc-SynData-Toolkit 点击查看 免费下载 DataArc SynData Toolkit 是一个开源合成数据生成平台,除了能…

2026/10/11 18:18:47 阅读更多 →
C++ OpenCV 虹膜分割实战:从灰度预处理到霍夫圆与微积分算子

C++ OpenCV 虹膜分割实战:从灰度预处理到霍夫圆与微积分算子

简介:这是一份面向计算机视觉初学者与图像处理方向开发者的虹膜分割实现代码,采用C与OpenCV编写,可用于生物特征识别、人眼图像分析等场景的入门实践与课程设计参考。压缩包共39个文件,约3.26MB,包含2个cpp源码文件、1…

2026/10/11 18:18:47 阅读更多 →
基于SpringBoot的网约巴士定制出行管理平台【源码+文档】

基于SpringBoot的网约巴士定制出行管理平台【源码+文档】

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/10/11 18:17:46 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →