mcpField
U
unity-project

unity-project

github.com/besty0728Development1.9k81 installsUpdated today
Repository

About unity-project

unity-project is a Unity project-inspection skill for developers checking configuration and build information. It provides read-only queries for project details, render pipelines, packages, shaders, settings, layers, and tags, plus a player-build operation.

Key features

  1. 01Reads Unity version and project details
  2. 02Reports render pipeline and shaders
  3. 03Lists packages, layers, and tags
  4. 04Reads build and player settings
  5. 05Builds a player asynchronously

Use cases

  1. 01Checking project configuration
  2. 02Inspecting available shaders or packages
  3. 03Reviewing build targets and scenes
  4. 04Producing a player build

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/besty0728/unity-skills --skill unity-project

After installing, type/unity-projectin Claude Code to confirm it loaded.

Details

From the project README

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.

ParameterTypeRequiredDefaultDescription
tagNamestringYes-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.

Comments

Markdown supported