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
- View the Unity version, determine the render pipeline, and list installed shaders/packages
Project information and configuration.
Operating Mode
build_player is RiskLevel=high 's actual build operation, and can be executed only after Bypass or Allowlist permits it;project_add_tag defaults to FullAuto. The other 8 query skills are all SemiAuto read-only operations.
Player Settings, Build Settings, and Layer are obtained read-only through this module; to edit them, use
editor_execute_menuto openEdit/Project Settings...orFile/Build Settings...。Note thateditor_execute_menuitself is auto-forbidden(editor module, markedMayTriggerReload = true): under both Approval and Auto it returnsMODE_FORBIDDENand grant does not unlock it; it can be invoked only when Bypass or Allowlist matches. In other modes, you can only instead guide the user to open these windows manually.
DO NOT (common hallucinations):
project_savedoes not exist → usescene_save(scene module) oreditor_execute_menumenuPath="File/Save" — both are auto-forbidden (RiskLevel="high"/MayTriggerReload), and can be invoked only with Bypass or Allowlistproject_settingsdoes not exist → use specific skills:project_get_render_pipeline,project_get_build_settings, etc.project_set_resolution/project_set_player_settingsdo not exist → Player Settings are read-only viaproject_get_player_settings; to edit, open Project Settings viaeditor_execute_menuwithEdit/Project Settings...(this skill is auto-forbidden and can be invoked only with Bypass or Allowlist; otherwise, guide the user to open it manually)project_createdoes not exist → projects are created via Unity Hub, not REST API
Routing:
- For graphics / quality / SRP configuration → use the
graphicsmodule - For Layer/Tag management →
project_add_tag(this module); Layers are read-only viaproject_get_layers(editing requireseditor_execute_menu→Edit/Project Settings..., and this skill is auto-forbidden and can be invoked only with Bypass or 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.