mcpField
U
unity-package

unity-package

github.com/besty0728Development1.9k87 installsUpdated today
Repository

About unity-package

A package-management skill for Unity developers to inspect and manage UPM packages, with dedicated setup flows for Cinemachine and Splines.

Key features

  1. 01List and check installed packages
  2. 02Search the installed-package cache
  3. 03Inspect dependencies and versions
  4. 04Refresh the package cache
  5. 05Install Cinemachine or Splines

Use cases

  1. 01Check package versions in a project
  2. 02Review a package's dependencies
  3. 03Search cached package names
  4. 04Set up Cinemachine or Splines

Install

Copy the command and run it in a terminal.

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

After installing, type/unity-packagein 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

  • Adding or removing UPM packages
  • Checking installed versions
  • Searching the registry
  • Scripting package operations
  • 添加或移除 UPM 包、检查已装版本、搜索 registry、脚本化包操作

Package Skills

Manage installed Unity packages and package-related helper flows such as Cinemachine and Splines setup.

Guardrails

Operating Mode (v1.9 three-tier):

  • Approval (default): query skills (package_list, package_check, package_search, package_get_dependencies, package_get_versions, package_get_cinemachine_status) run directly. package_refresh is the only FullAuto mutator — on MODE_RESTRICTED, run the grant protocol for it. Every other mutator is auto-forbidden (next bullet) and grant does not unlock it.
  • Auto / Bypass: SemiAuto and FullAuto run directly.
  • Auto-forbidden in this module: package_install, package_remove, package_install_cinemachine, package_install_splines (all MayTriggerReload = true, RiskLevel = "high"; package_remove also carries SkillOperation.Delete). They return MODE_FORBIDDEN under both Approval and Auto, and are reachable only under Bypass mode or via a user-managed Allowlist entry; the grant flow returns MODE_FORBIDDEN too, so do not attempt it.
  • Install/remove/refresh jobs return immediately with a jobId; the actual package import + Domain Reload happens asynchronously and may make the REST server transiently unavailable. Poll with job_status / job_wait.

DO NOT (common hallucinations):

  • package_add / package_update do not exist -> use package_install
  • package_get_info does not exist -> use package_list, package_check, package_get_dependencies, or package_get_versions
  • package_search searches the installed package cache only; it does not query the Unity Registry
  • Package query skills initialize their cache automatically after Domain Reload. During the short cold-start window they return { success: false, status: "refreshing", cacheReady: false, retryStrategy: "wait_and_retry", retryAfterSeconds: 2 }; retry instead of treating this as installed=false.
  • Package install/remove/refresh jobs can trigger package import and Domain Reload; expect transient server unavailability and use returned job IDs

Routing:

  • For Cinemachine quick setup -> use package_install_cinemachine
  • For Splines quick setup -> use package_install_splines
  • For project manifest inspection -> use project_get_packages
  • For define symbol changes after package installation -> use debug_set_defines

Skills

package_list

List all installed packages currently cached by UnitySkills. Parameters: None.

Returns: { success, count, packages }

package_check

Check whether a package is installed.

ParameterTypeRequiredDefaultDescription
packageIdstringYes-Package ID such as com.unity.cinemachine

Returns: { packageId, installed, version }

package_install

Install a package. Returns an async job when the request is accepted.

ParameterTypeRequiredDefaultDescription
packageIdstringYes-Package ID to install
versionstringNonullOptional explicit version

Returns: { success, status, jobId, message, serverAvailability }

package_remove

Remove an installed package. Returns an async job when the request is accepted.

ParameterTypeRequiredDefaultDescription
packageIdstringYes-Installed package ID to remove

Returns: { success, status, jobId, message, serverAvailability }

package_refresh

Refresh the installed package cache used by query skills. Parameters: None.

Returns: { success, status, jobId, message }

package_install_cinemachine

Install Cinemachine using the supported package/version strategy.

ParameterTypeRequiredDefaultDescription
versionintNo32 for CM2, 3 for CM3; any other value is rejected

Notes:

  • CM3 auto-installs the Splines dependency.
  • If the requested line is already installed, this skill can return immediate success instead of a job.

Returns: { success, status?, jobId?, message, serverAvailability? }

package_install_splines

Install or upgrade Unity Splines using the recommended version for the current Unity editor line. Parameters: None.

Returns: { success, status?, jobId?, message, serverAvailability? }

package_get_cinemachine_status

Get current Cinemachine and Splines installation status. Parameters: None.

Returns: { cinemachine, splines }

package_search

Search the installed package cache by package name or display name.

ParameterTypeRequiredDefaultDescription
querystringYes-Search keyword

Returns: { success, query, count, packages }

package_get_dependencies

Get dependency information for one installed package.

ParameterTypeRequiredDefaultDescription
packageIdstringYes-Installed package ID

Returns: { success, packageId, version, dependencyCount, dependencies }

package_get_versions

Get available versions for one installed package.

ParameterTypeRequiredDefaultDescription
packageIdstringYes-Installed package ID

Returns: { success, packageId, currentVersion, compatibleVersion, latestVersion, allVersions }

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