# Unity Project

> Read Unity project metadata and package lists

- Skill: `gabrielmoreira/unity-project` (Agent Skill)
- Install (CLI): `npx skillmds@latest add gabrielmoreira/unity-project`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gabrielmoreira/unity-project/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: gabrielmoreira (https://skillmd.com/u/gabrielmoreira)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/gabrielmoreira/unity-project

---


> **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.

