| name | unity-project |
| description | Read Unity project metadata and package lists |
Before calling any skill in this module: if you are about to call a skill with parameters guessed from its name or description, STOP — read this file (or fetch its schema via GET /skills/recommend?includeSchema=true) first. If you already have the parameter definitions from recommend/schema, you may proceed straight to dryRun.
Triggers
- Checking Unity version
- Detecting render pipeline
- Listing installed shaders/packages
- 查看 Unity 版本、判断渲染管线、列出已装 shader/包
Project Skills
Project information and configuration.
Operating Mode
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 命中可调。其他模式下只能改为指导用户手动打开这些窗口。
DO NOT (common hallucinations):
project_save does not exist → use scene_save (scene module) or editor_execute_menu menuPath="File/Save" —— 两者都是 auto-forbidden(RiskLevel="high" / MayTriggerReload),仅 Bypass 或 Allowlist 可调
project_settings does not exist → use specific skills: project_get_render_pipeline, project_get_build_settings, etc.
project_set_resolution / project_set_player_settings do not exist → Player Settings are read-only via project_get_player_settings; to edit, open Project Settings via editor_execute_menu with Edit/Project Settings...(该 skill auto-forbidden,仅 Bypass 或 Allowlist 可调,否则请指导用户手动打开)
project_create does not exist → projects are created via Unity Hub, not REST API
Routing:
- For graphics / quality / SRP configuration → use the
graphics module
- For Layer/Tag management →
project_add_tag (this module); Layers are read-only via project_get_layers(编辑需 editor_execute_menu → Edit/Project Settings...,而该 skill auto-forbidden,仅 Bypass 或 Allowlist 可调)
- For inspecting build settings →
project_get_build_settings; for producing a player → build_player
Skills
project_get_info
Get project information including render pipeline, Unity version, and settings.
Parameters: None.
project_get_render_pipeline
Get current render pipeline type and recommended shaders.
Parameters: None.
project_list_shaders
List all available shaders in the project.
Parameters:
filter (string, optional): Filter by name.
limit (int, optional): Max results (default 50).
project_get_build_settings
Get build settings (platform, scenes).
Parameters: None.
Returns: { success, activeBuildTarget, buildTargetGroup, sceneCount, scenes }
build_player
Build a player through BuildPipeline.BuildPlayer and return immediately with an asynchronous Job.
Parameters: outputPath?, target?, scenes?, development=false, overwrite=false. Output must remain inside the project and outside Unity-managed folders.
Returns: {success, status:"accepted", jobId, kind, platform, outputPath, scenes}. Poll /jobs/{id}; the final result contains the BuildReport summary.
project_get_packages
List installed UPM packages.
Parameters: None.
Returns: { success, manifest }
project_get_layers
Get all Layer definitions.
Parameters: None.
Returns: { success, count, layers }
project_get_tags
Get all Tag definitions.
Parameters: None.
Returns: { success, count, tags }
project_add_tag
Add a custom Tag.
| Parameter | Type | Required | Default | Description |
|---|
| tagName | string | Yes | - | The tag name to add |
Returns: { success, tag }
project_get_player_settings
Get Player Settings.
Parameters: None.
Returns: { success, productName, companyName, bundleVersion, defaultScreenWidth, defaultScreenHeight, fullscreen, apiCompatibility, scriptingBackend }
Exact Signatures
Exact names, parameters, defaults, and returns are defined by GET /skills/schema or unity_skills.get_skill_schema(), not by this file.