关于 unity-project
unity-project 是面向 Unity 开发者的项目检查技能,可查询配置和构建信息。它提供项目详情、渲染管线、包、着色器及设置的只读查询,也支持构建 Player。
主要功能
- 01读取 Unity 版本和项目详情
- 02查看渲染管线与着色器
- 03列出包、Layer 和 Tag
- 04读取构建及 Player 设置
- 05异步构建 Player
适用场景
- 01检查项目配置
- 02查看可用着色器或包
- 03核对构建目标与场景
- 04生成 Player 构建
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ besty0728/ unity-skills --skill unity-project安装后在 Claude Code 中输入/unity-project确认已加载。
详细介绍
**调用此模块中的任何 skill 之前:**如果你打算根据 skill 的名称或描述猜测参数后调用它,请停下——先阅读此文件(或通过
GET /skills/recommend?includeSchema=true获取其 schema)。如果你已从 recommend/schema 获取参数定义,则可直接进行 dryRun。
触发条件
- 检查 Unity 版本
- 检测渲染管线
- 列出已安装的 shader/包
- 查看 Unity 版本、判断渲染管线、列出已装 shader/包
项目 Skills
项目信息和配置。
运行模式
build_player 是 RiskLevel=high 的实际出包操作,仅在 Bypass 或 Allowlist 放行后才能执行;project_add_tag 默认为 FullAuto。其余 8 个查询 skill 均为 SemiAuto 只读操作。
Player Settings、Build Settings、Layer 通过本模块只读获取;如需编辑,请使用
editor_execute_menu打开Edit/Project Settings...或File/Build Settings...。注意,editor_execute_menu自身是 auto-forbidden(editor 模块,标记为MayTriggerReload = true):在 Approval 和 Auto 模式下都会返回MODE_FORBIDDEN,且 grant 不会解锁;仅 Bypass 或 Allowlist 命中时才可调用。其他模式下只能改为指导用户手动打开这些窗口。
不要(常见幻觉):
project_save不存在 → 使用scene_save(scene 模块)或editor_execute_menu,menuPath="File/Save" —— 两者都是 auto-forbidden(RiskLevel="high"/MayTriggerReload),仅 Bypass 或 Allowlist 命中时可调用project_settings不存在 → 使用具体的 skills:project_get_render_pipeline、project_get_build_settings等。project_set_resolution/project_set_player_settings不存在 → Player Settings 只能通过project_get_player_settings只读获取;如需编辑,请使用editor_execute_menu打开 Project Settings,并设置为Edit/Project Settings...(该 skill 为 auto-forbidden,仅 Bypass 或 Allowlist 命中时可调用,否则请指导用户手动打开)project_create不存在 → 项目通过 Unity Hub 创建,而非 REST API
路由:
- 图形 / 质量 / SRP 配置 → 使用
graphics模块 - Layer/Tag 管理 → 使用
project_add_tag(本模块);Layers 只能通过project_get_layers只读获取(如需编辑,请使用editor_execute_menu→Edit/Project Settings...;该 skill 为 auto-forbidden,仅 Bypass 或 Allowlist 命中时可调用) - 检查构建设置 → 使用
project_get_build_settings;生成 player → 使用build_player
Skills
project_get_info
获取项目信息,包括渲染管线、Unity 版本和设置。 **参数:**无。
project_get_render_pipeline
获取当前渲染管线类型和推荐的 shader。 **参数:**无。
project_list_shaders
列出项目中所有可用的 shader。 参数:
filter(string,可选):按名称筛选。limit(int,可选):最多返回的结果数(默认值为 50)。
project_get_build_settings
获取构建设置(平台、场景)。
**参数:**无。
返回:{ success, activeBuildTarget, buildTargetGroup, sceneCount, scenes }
build_player
通过 BuildPipeline.BuildPlayer 构建 player,并立即返回异步 Job。
参数:outputPath?、target?、scenes?、development=false、overwrite=false。输出必须位于项目内,且不在 Unity 管理的文件夹中。
返回:{success, status:"accepted", jobId, kind, platform, outputPath, scenes}。轮询 /jobs/{id};最终结果包含 BuildReport 摘要。
project_get_packages
列出已安装的 UPM 包。
**参数:**无。
返回:{ success, manifest }
project_get_layers
获取所有 Layer 定义。
**参数:**无。
返回:{ success, count, layers }
project_get_tags
获取所有 Tag 定义。
**参数:**无。
返回:{ success, count, tags }
project_add_tag
添加自定义 Tag。
| 参数 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
| tagName | string | 是 | - | 要添加的 tag 名称 |
返回:{ success, tag }
project_get_player_settings
获取 Player Settings。
参数: 无。
返回: { success, productName, companyName, bundleVersion, defaultScreenWidth, defaultScreenHeight, fullscreen, apiCompatibility, scriptingBackend }
精确签名
精确的名称、参数、默认值和返回值由 GET /skills/schema 或 unity_skills.get_skill_schema() 定义,而非由此文件定义。