Installs into .claude/skills of the current project.
Are you the author of Project?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/besty0728-project)
---
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.