mcpField
U
unity-project

unity-project

github.com/besty0728开发1.9k81 次安装今天更新
代码仓库

关于 unity-project

unity-project 是面向 Unity 开发者的项目检查技能,可查询配置和构建信息。它提供项目详情、渲染管线、包、着色器及设置的只读查询,也支持构建 Player。

主要功能

  1. 01读取 Unity 版本和项目详情
  2. 02查看渲染管线与着色器
  3. 03列出包、Layer 和 Tag
  4. 04读取构建及 Player 设置
  5. 05异步构建 Player

适用场景

  1. 01检查项目配置
  2. 02查看可用着色器或包
  3. 03核对构建目标与场景
  4. 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。

参数类型必填默认值描述
tagNamestring是-要添加的 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() 定义,而非由此文件定义。

评论

支持 Markdown