unity-open-mcp 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/README.md +33 -2
  2. package/dist/agent-identity.d.ts +12 -0
  3. package/dist/agent-identity.js +2 -0
  4. package/dist/agent-identity.js.map +1 -1
  5. package/dist/batch-spawn.d.ts +39 -0
  6. package/dist/batch-spawn.js +287 -69
  7. package/dist/batch-spawn.js.map +1 -1
  8. package/dist/capabilities/build-capabilities.js +2 -0
  9. package/dist/capabilities/build-capabilities.js.map +1 -1
  10. package/dist/capabilities/discovery.d.ts +51 -0
  11. package/dist/capabilities/discovery.js +87 -0
  12. package/dist/capabilities/discovery.js.map +1 -0
  13. package/dist/capabilities/lifecycle.d.ts +6 -0
  14. package/dist/capabilities/lifecycle.js +17 -1
  15. package/dist/capabilities/lifecycle.js.map +1 -1
  16. package/dist/capabilities/tool-groups.js +1 -0
  17. package/dist/capabilities/tool-groups.js.map +1 -1
  18. package/dist/child-supervision.d.ts +6 -0
  19. package/dist/child-supervision.js +12 -0
  20. package/dist/child-supervision.js.map +1 -1
  21. package/dist/cli/args.d.ts +24 -2
  22. package/dist/cli/args.js +97 -2
  23. package/dist/cli/args.js.map +1 -1
  24. package/dist/cli/cli.js +42 -3
  25. package/dist/cli/cli.js.map +1 -1
  26. package/dist/cli/help-text.d.ts +1 -0
  27. package/dist/cli/help-text.js +71 -3
  28. package/dist/cli/help-text.js.map +1 -1
  29. package/dist/cli/json-guards.d.ts +2 -0
  30. package/dist/cli/json-guards.js +5 -0
  31. package/dist/cli/json-guards.js.map +1 -0
  32. package/dist/cli/setup-command.d.ts +88 -0
  33. package/dist/cli/setup-command.js +444 -0
  34. package/dist/cli/setup-command.js.map +1 -0
  35. package/dist/cli/update-command.d.ts +30 -0
  36. package/dist/cli/update-command.js +271 -0
  37. package/dist/cli/update-command.js.map +1 -0
  38. package/dist/compile-verify.d.ts +3 -0
  39. package/dist/compile-verify.js +4 -0
  40. package/dist/compile-verify.js.map +1 -1
  41. package/dist/constants.d.ts +10 -2
  42. package/dist/constants.js +10 -2
  43. package/dist/constants.js.map +1 -1
  44. package/dist/dialog-dismiss.d.ts +108 -12
  45. package/dist/dialog-dismiss.js +294 -109
  46. package/dist/dialog-dismiss.js.map +1 -1
  47. package/dist/dialog-policy.d.ts +55 -9
  48. package/dist/dialog-policy.js +85 -15
  49. package/dist/dialog-policy.js.map +1 -1
  50. package/dist/editor-search.d.ts +2 -0
  51. package/dist/editor-search.js +8 -0
  52. package/dist/editor-search.js.map +1 -0
  53. package/dist/gate-error.d.ts +3 -0
  54. package/dist/gate-error.js.map +1 -1
  55. package/dist/index.js +55 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/instance-discovery.d.ts +16 -0
  58. package/dist/instance-discovery.js +45 -0
  59. package/dist/instance-discovery.js.map +1 -1
  60. package/dist/jobs/adapters.d.ts +15 -0
  61. package/dist/jobs/adapters.js +147 -0
  62. package/dist/jobs/adapters.js.map +1 -0
  63. package/dist/jobs/handler.d.ts +3 -0
  64. package/dist/jobs/handler.js +29 -0
  65. package/dist/jobs/handler.js.map +1 -0
  66. package/dist/jobs/job-manager.d.ts +123 -0
  67. package/dist/jobs/job-manager.js +290 -0
  68. package/dist/jobs/job-manager.js.map +1 -0
  69. package/dist/live-client.d.ts +50 -2
  70. package/dist/live-client.js +221 -26
  71. package/dist/live-client.js.map +1 -1
  72. package/dist/local-tools.d.ts +17 -0
  73. package/dist/local-tools.js +47 -0
  74. package/dist/local-tools.js.map +1 -0
  75. package/dist/process-diagnostics.d.ts +47 -20
  76. package/dist/process-diagnostics.js +30 -15
  77. package/dist/process-diagnostics.js.map +1 -1
  78. package/dist/project-path.d.ts +86 -0
  79. package/dist/project-path.js +159 -0
  80. package/dist/project-path.js.map +1 -0
  81. package/dist/release-lookup.d.ts +32 -0
  82. package/dist/release-lookup.js +147 -0
  83. package/dist/release-lookup.js.map +1 -0
  84. package/dist/routers.d.ts +17 -3
  85. package/dist/routers.js +28 -8
  86. package/dist/routers.js.map +1 -1
  87. package/dist/running-unity.d.ts +21 -0
  88. package/dist/running-unity.js +50 -0
  89. package/dist/running-unity.js.map +1 -1
  90. package/dist/schema-defaults.d.ts +4 -3
  91. package/dist/schema-defaults.js +20 -6
  92. package/dist/schema-defaults.js.map +1 -1
  93. package/dist/server-instructions.js +7 -1
  94. package/dist/server-instructions.js.map +1 -1
  95. package/dist/server.d.ts +10 -3
  96. package/dist/server.js +24 -25
  97. package/dist/server.js.map +1 -1
  98. package/dist/setup/portable-config.d.ts +60 -0
  99. package/dist/setup/portable-config.js +249 -0
  100. package/dist/setup/portable-config.js.map +1 -0
  101. package/dist/skill/SKILL.md +68 -0
  102. package/dist/skill/copy-references.d.ts +2 -0
  103. package/dist/skill/copy-references.js +16 -0
  104. package/dist/skill/copy-references.js.map +1 -0
  105. package/dist/skill/generate-skill.js +5 -3
  106. package/dist/skill/generate-skill.js.map +1 -1
  107. package/dist/skill/references/batch-and-gates.md +142 -0
  108. package/dist/skill/references/compile-and-safe-mode.md +163 -0
  109. package/dist/skill/references/discovery-and-groups.md +30 -0
  110. package/dist/skill/references/routing-and-lifecycle.md +62 -0
  111. package/dist/skill/references/senses-and-tests.md +41 -0
  112. package/dist/skill/references/yaml-and-offline-work.md +33 -0
  113. package/dist/templates/mcp-wrapper.sh +35 -0
  114. package/dist/tool-contract.d.ts +8 -0
  115. package/dist/tool-contract.js +253 -0
  116. package/dist/tool-contract.js.map +1 -0
  117. package/dist/tool-router.d.ts +62 -7
  118. package/dist/tool-router.js +535 -61
  119. package/dist/tool-router.js.map +1 -1
  120. package/dist/tool-session-state.d.ts +6 -0
  121. package/dist/tool-session-state.js +14 -0
  122. package/dist/tool-session-state.js.map +1 -1
  123. package/dist/tools/agent-capabilities.js +9 -0
  124. package/dist/tools/agent-capabilities.js.map +1 -1
  125. package/dist/tools/batch-execute.js +17 -14
  126. package/dist/tools/batch-execute.js.map +1 -1
  127. package/dist/tools/bridge-status.js +4 -5
  128. package/dist/tools/bridge-status.js.map +1 -1
  129. package/dist/tools/compile-check.js +6 -4
  130. package/dist/tools/compile-check.js.map +1 -1
  131. package/dist/tools/component-get.js +2 -2
  132. package/dist/tools/component-get.js.map +1 -1
  133. package/dist/tools/component-modify.js +4 -4
  134. package/dist/tools/component-modify.js.map +1 -1
  135. package/dist/tools/execute-csharp.js +8 -4
  136. package/dist/tools/execute-csharp.js.map +1 -1
  137. package/dist/tools/gameobject-modify.js +2 -1
  138. package/dist/tools/gameobject-modify.js.map +1 -1
  139. package/dist/tools/index.d.ts +2 -0
  140. package/dist/tools/index.js +10 -2
  141. package/dist/tools/index.js.map +1 -1
  142. package/dist/tools/inputsim-key.js +12 -14
  143. package/dist/tools/inputsim-key.js.map +1 -1
  144. package/dist/tools/inputsim-pointer.js +3 -3
  145. package/dist/tools/inputsim-pointer.js.map +1 -1
  146. package/dist/tools/inputsim-step.js +7 -8
  147. package/dist/tools/inputsim-step.js.map +1 -1
  148. package/dist/tools/inputsim-touch.js +9 -10
  149. package/dist/tools/inputsim-touch.js.map +1 -1
  150. package/dist/tools/jobs.d.ts +40 -0
  151. package/dist/tools/jobs.js +18 -0
  152. package/dist/tools/jobs.js.map +1 -0
  153. package/dist/tools/manage-tools.js +10 -5
  154. package/dist/tools/manage-tools.js.map +1 -1
  155. package/dist/tools/project-commands.d.ts +40 -0
  156. package/dist/tools/project-commands.js +23 -0
  157. package/dist/tools/project-commands.js.map +1 -0
  158. package/dist/tools/read-compile-errors.js +14 -93
  159. package/dist/tools/read-compile-errors.js.map +1 -1
  160. package/dist/tools/resource-pressure.js +27 -17
  161. package/dist/tools/resource-pressure.js.map +1 -1
  162. package/dist/tools/scan-paths.js +4 -4
  163. package/dist/tools/scan-paths.js.map +1 -1
  164. package/dist/tools/schema-fragments.d.ts +15 -3
  165. package/dist/tools/schema-fragments.js +23 -13
  166. package/dist/tools/schema-fragments.js.map +1 -1
  167. package/dist/tools/upgrade.d.ts +40 -0
  168. package/dist/tools/upgrade.js +55 -0
  169. package/dist/tools/upgrade.js.map +1 -0
  170. package/dist/unity-install-discovery.d.ts +24 -0
  171. package/dist/unity-install-discovery.js +113 -4
  172. package/dist/unity-install-discovery.js.map +1 -1
  173. package/package.json +4 -3
  174. package/templates/mcp-wrapper.sh +35 -0
@@ -0,0 +1,55 @@
1
+ import { GATE_OFF_PROP, makeTool } from "./schema-fragments.js";
2
+ export const upgrade = makeTool("unity_open_mcp_upgrade", "Preview or apply a coordinated update of the open Unity project to one trio version. " +
3
+ "Scans project and home-scoped MCP client configs, agent-facing prose/examples, and the " +
4
+ "bridge + verify UPM pins. Home configs are rewritten only when their UNITY_PROJECT_PATH " +
5
+ "belongs exclusively to the open project. `dry_run` defaults true and returns the exact " +
6
+ "per-file report without writing. With `dry_run:false`, config/prose files receive one-time " +
7
+ "`.bak` backups before rewriting; a Git-installed bridge and verify pair are then re-pinned " +
8
+ "atomically through Unity Package Manager, which may reload the Editor. Embedded/file bridge " +
9
+ "installs are preserved and reported while selected config/prose updates remain available. " +
10
+ "Omit `target_version` to resolve the latest published npm version explicitly for this call.", {
11
+ properties: {
12
+ target_version: {
13
+ type: "string",
14
+ pattern: "^\\d+\\.\\d+\\.\\d+$",
15
+ description: "Target trio version (X.Y.Z). Omit to query the latest npm release.",
16
+ },
17
+ dry_run: {
18
+ type: "boolean",
19
+ default: true,
20
+ description: "Preview only by default. Set false to write selected files and schedule UPM.",
21
+ },
22
+ update_upm: {
23
+ type: "boolean",
24
+ default: true,
25
+ description: "Update the bridge + verify Git packages atomically when the bridge source is Git.",
26
+ },
27
+ update_project_configs: {
28
+ type: "boolean",
29
+ default: true,
30
+ description: "Update MCP client configs found in this project or its repository ancestors.",
31
+ },
32
+ update_home_configs: {
33
+ type: "boolean",
34
+ default: true,
35
+ description: "Update home-scoped configs only when the entry belongs exclusively to this project.",
36
+ },
37
+ update_prose: {
38
+ type: "boolean",
39
+ default: true,
40
+ description: "Update allowlisted agent prose, installed core skills, and MCP config examples.",
41
+ },
42
+ paths_hint: {
43
+ type: "array",
44
+ items: { type: "string" },
45
+ default: ["Packages/manifest.json"],
46
+ description: "Audit scope materialized automatically. The gate is off because this workflow mutates " +
47
+ "package/configuration pins rather than Unity assets; packages-lock.json is implicit.",
48
+ },
49
+ gate: {
50
+ ...GATE_OFF_PROP,
51
+ description: "Defaults off: project-asset validation does not model external configs or UPM pins.",
52
+ },
53
+ },
54
+ });
55
+ //# sourceMappingURL=upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/tools/upgrade.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAC7B,wBAAwB,EACxB,uFAAuF;IACrF,yFAAyF;IACzF,0FAA0F;IAC1F,yFAAyF;IACzF,6FAA6F;IAC7F,6FAA6F;IAC7F,8FAA8F;IAC9F,4FAA4F;IAC5F,6FAA6F,EAC/F;IACE,UAAU,EAAE;QACV,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sBAAsB;YAC/B,WAAW,EAAE,oEAAoE;SAClF;QACD,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,8EAA8E;SAC5F;QACD,UAAU,EAAE;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,mFAAmF;SACjG;QACD,sBAAsB,EAAE;YACtB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,8EAA8E;SAC5F;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,qFAAqF;SACnG;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,iFAAiF;SAC/F;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,OAAO,EAAE,CAAC,wBAAwB,CAAC;YACnC,WAAW,EACT,wFAAwF;gBACxF,sFAAsF;SACzF;QACD,IAAI,EAAE;YACJ,GAAG,aAAa;YAChB,WAAW,EAAE,qFAAqF;SACnG;KACF;CACF,CACF,CAAC"}
@@ -11,6 +11,23 @@ export interface ResolvedUnityPath {
11
11
  version: string;
12
12
  source: UnityPathSource;
13
13
  }
14
+ export type UnityPathResolution = {
15
+ ok: true;
16
+ value: ResolvedUnityPath;
17
+ } | {
18
+ ok: false;
19
+ reason: "not_discovered" | "preferred_not_installed" | "env_version_mismatch";
20
+ preferredVersion?: string;
21
+ configuredVersion?: string;
22
+ availableVersions: string[];
23
+ };
24
+ /** Read the exact editor version recorded by a Unity project. */
25
+ export declare function readProjectUnityVersion(projectPath: string): string | null;
26
+ /**
27
+ * Best-effort version inference for a conventional Hub executable path.
28
+ * Unknown/custom layouts deliberately return null rather than guessing.
29
+ */
30
+ export declare function inferUnityVersionFromExecutablePath(executablePath: string): string | null;
14
31
  /**
15
32
  * OS-default Unity Hub install roots, matching the Hub's
16
33
  * `get_os_default_hub_paths()`. Each holds version-named subfolders
@@ -77,3 +94,10 @@ export declare function versionMatches(candidateVersion: string, projectVersion?
77
94
  * real machine state.
78
95
  */
79
96
  export declare function resolveUnityPath(preferredVersion?: string | null, roots?: string[]): ResolvedUnityPath | null;
97
+ /**
98
+ * Fail-closed resolver for opening a concrete project in batch mode.
99
+ * Unlike the legacy/general resolver above, a known project version never
100
+ * falls through to a neighbouring patch or the newest installed editor unless
101
+ * the operator explicitly opts in to a mismatch.
102
+ */
103
+ export declare function resolveUnityPathForProject(preferredVersion: string | null, roots?: string[], allowVersionMismatch?: boolean): UnityPathResolution;
@@ -9,12 +9,50 @@
9
9
  //
10
10
  // Resolution precedence (see `resolveUnityPath`):
11
11
  // 1. `UNITY_PATH` env var (explicit, validated to exist — wins)
12
- // 2. auto-discovered installs, picking by `preferredVersion` prefix match
13
- // against the running bridge's `unityVersion` when available, else newest
12
+ // 2. auto-discovered installs, preferring an exact `preferredVersion` before
13
+ // any compatibility fallback, else newest
14
14
  // 3. null (caller surfaces `unity_not_discovered`)
15
- import { existsSync, readdirSync, statSync } from "node:fs";
16
- import { join } from "node:path";
15
+ import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
16
+ import { basename, dirname, join, resolve } from "node:path";
17
17
  import { homedir } from "node:os";
18
+ /** Read the exact editor version recorded by a Unity project. */
19
+ export function readProjectUnityVersion(projectPath) {
20
+ if (!projectPath)
21
+ return null;
22
+ try {
23
+ const content = readFileSync(join(projectPath, "ProjectSettings", "ProjectVersion.txt"), "utf8");
24
+ for (const rawLine of content.split(/\r?\n/)) {
25
+ const line = rawLine.replace(/^\uFEFF/, "");
26
+ const match = line.match(/^m_EditorVersion:\s*(\S.*?)\s*$/);
27
+ if (match?.[1])
28
+ return match[1];
29
+ }
30
+ }
31
+ catch {
32
+ // Missing/unreadable metadata is handled by the caller's fallback path.
33
+ }
34
+ return null;
35
+ }
36
+ /**
37
+ * Best-effort version inference for a conventional Hub executable path.
38
+ * Unknown/custom layouts deliberately return null rather than guessing.
39
+ */
40
+ export function inferUnityVersionFromExecutablePath(executablePath) {
41
+ const absolute = resolve(executablePath);
42
+ let installDir;
43
+ if (process.platform === "darwin") {
44
+ // <version>/Unity.app/Contents/MacOS/Unity
45
+ installDir = dirname(dirname(dirname(dirname(absolute))));
46
+ }
47
+ else {
48
+ // <version>/Editor/Unity[.exe]
49
+ installDir = dirname(dirname(absolute));
50
+ }
51
+ const candidate = basename(installDir);
52
+ return /^\d+(?:\.\d+){2}[abfpc]\d+(?:_\w+)?$/i.test(candidate)
53
+ ? candidate
54
+ : null;
55
+ }
18
56
  /**
19
57
  * OS-default Unity Hub install roots, matching the Hub's
20
58
  * `get_os_default_hub_paths()`. Each holds version-named subfolders
@@ -195,6 +233,12 @@ export function resolveUnityPath(preferredVersion, roots) {
195
233
  if (installs.length === 0)
196
234
  return null;
197
235
  if (preferredVersion) {
236
+ // Exact must win even though the list is newest-first. Previously a newer
237
+ // patch on the same major.minor line matched first and shadowed an installed
238
+ // exact editor, which could open and rewrite a project with the wrong Unity.
239
+ const exact = installs.find((i) => i.version === preferredVersion);
240
+ if (exact)
241
+ return { path: exact.path, version: exact.version, source: "discovered" };
198
242
  const match = installs.find((i) => versionMatches(i.version, preferredVersion));
199
243
  if (match)
200
244
  return { path: match.path, version: match.version, source: "discovered" };
@@ -203,4 +247,69 @@ export function resolveUnityPath(preferredVersion, roots) {
203
247
  const newest = installs[0];
204
248
  return { path: newest.path, version: newest.version, source: "discovered" };
205
249
  }
250
+ /**
251
+ * Fail-closed resolver for opening a concrete project in batch mode.
252
+ * Unlike the legacy/general resolver above, a known project version never
253
+ * falls through to a neighbouring patch or the newest installed editor unless
254
+ * the operator explicitly opts in to a mismatch.
255
+ */
256
+ export function resolveUnityPathForProject(preferredVersion, roots, allowVersionMismatch = false) {
257
+ const installs = discoverUnityInstalls(roots);
258
+ const availableVersions = installs.map((install) => install.version);
259
+ const envPath = process.env.UNITY_PATH;
260
+ if (envPath) {
261
+ try {
262
+ if (existsSync(envPath) && statSync(envPath).isFile()) {
263
+ const normalized = resolve(envPath);
264
+ const discovered = installs.find((install) => resolve(install.path) === normalized);
265
+ const configuredVersion = discovered?.version ?? inferUnityVersionFromExecutablePath(envPath);
266
+ if (preferredVersion &&
267
+ configuredVersion &&
268
+ configuredVersion !== preferredVersion &&
269
+ !allowVersionMismatch) {
270
+ return {
271
+ ok: false,
272
+ reason: "env_version_mismatch",
273
+ preferredVersion,
274
+ configuredVersion,
275
+ availableVersions,
276
+ };
277
+ }
278
+ return {
279
+ ok: true,
280
+ value: {
281
+ path: envPath,
282
+ version: configuredVersion ?? "(env override)",
283
+ source: "env",
284
+ },
285
+ };
286
+ }
287
+ }
288
+ catch {
289
+ // Preserve the existing behavior: an invalid override falls through to
290
+ // discovery, where the caller gets the most specific available error.
291
+ }
292
+ }
293
+ if (preferredVersion) {
294
+ const exact = installs.find((install) => install.version === preferredVersion);
295
+ if (exact) {
296
+ return { ok: true, value: { ...exact, source: "discovered" } };
297
+ }
298
+ if (!allowVersionMismatch) {
299
+ return {
300
+ ok: false,
301
+ reason: "preferred_not_installed",
302
+ preferredVersion,
303
+ availableVersions,
304
+ };
305
+ }
306
+ }
307
+ if (installs.length === 0) {
308
+ return { ok: false, reason: "not_discovered", availableVersions };
309
+ }
310
+ const fallback = preferredVersion
311
+ ? installs.find((install) => versionMatches(install.version, preferredVersion)) ?? installs[0]
312
+ : installs[0];
313
+ return { ok: true, value: { ...fallback, source: "discovered" } };
314
+ }
206
315
  //# sourceMappingURL=unity-install-discovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unity-install-discovery.js","sourceRoot":"","sources":["../src/unity-install-discovery.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,EAAE;AACF,mDAAmD;AACnD,0EAA0E;AAC1E,2EAA2E;AAC3E,2EAA2E;AAC3E,wEAAwE;AACxE,iDAAiD;AACjD,EAAE;AACF,kDAAkD;AAClD,kEAAkE;AAClE,4EAA4E;AAC5E,+EAA+E;AAC/E,qDAAqD;AAErD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAkBlC;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC5C,CAAC;IACD,oBAAoB;IACpB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE;QAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IACrC,IAAI,MAAM;QAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE9B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACrD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACxE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QACpD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACtC,CAAC;IACD,SAAS;IACT,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACtC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAgB;IACpD,MAAM,SAAS,GAAG,KAAK,IAAI,eAAe,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;oBAAE,SAAS;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,MAAM,GAAG,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe;IACpF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,CAAS,EAAE,CAAS;IACvD,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3B,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAChC,CAAC;IACD,2EAA2E;IAC3E,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,gBAAwB,EAAE,cAA8B;IACrF,IAAI,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,gBAAgB,KAAK,cAAc;QAAE,OAAO,IAAI,CAAC;IACrD,6EAA6E;IAC7E,8DAA8D;IAC9D,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,gBAAgC,EAChC,KAAgB;IAEhB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACvC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBACtD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACrE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAChF,IAAI,KAAK;YAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACvF,CAAC;IACD,wBAAwB;IACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"unity-install-discovery.js","sourceRoot":"","sources":["../src/unity-install-discovery.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unity-open-mcp",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "description": "MCP server (stdio) routing tool calls to the live Unity Open MCP Bridge or batch Unity processes.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -9,12 +9,13 @@
9
9
  },
10
10
  "files": [
11
11
  "dist/",
12
+ "templates/",
12
13
  "README.md",
13
14
  "LICENSE"
14
15
  ],
15
16
  "scripts": {
16
- "build": "tsc",
17
- "build:test": "tsc -p tsconfig.test.json",
17
+ "build": "tsc && node scripts/copy-assets.mjs",
18
+ "build:test": "npm run build && tsc -p tsconfig.test.json",
18
19
  "typecheck": "tsc --noEmit",
19
20
  "test": "npm run build:test && node --test 'dist-test/**/*.test.js'",
20
21
  "prepublishOnly": "npm run build"
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env bash
2
+ # unity-open-mcp MCP wrapper.
3
+ #
4
+ # Resolves UNITY_PROJECT_PATH from THIS SCRIPT'S location, so it works no
5
+ # matter what working directory the AI client spawns the MCP server in. Use it
6
+ # for clients that expand neither ${workspaceFolder} nor environment variables
7
+ # in their MCP config (for example Codex and ZCode).
8
+ #
9
+ # Committed to the repository; contains no machine-specific paths.
10
+ # Regenerate with: unity-open-mcp setup --wrapper …
11
+ #
12
+ # Override the Unity subfolder for a one-off run:
13
+ # UNITY_SUBPATH=OtherClient bash <this script>
14
+ set -euo pipefail
15
+
16
+ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
17
+ workspace_root="$(cd "${script_dir}/__WORKSPACE_FROM_SCRIPT__" && pwd)"
18
+ subpath="${UNITY_SUBPATH-__UNITY_SUBPATH__}"
19
+
20
+ if [ -n "${subpath}" ]; then
21
+ project_path="${workspace_root}/${subpath}"
22
+ else
23
+ project_path="${workspace_root}"
24
+ fi
25
+
26
+ for marker in __UNITY_ROOT_MARKERS__; do
27
+ if [ ! -d "${project_path}/${marker}" ]; then
28
+ echo "unity-open-mcp: ${project_path} is not a Unity project root (missing ${marker}/)." >&2
29
+ echo "unity-open-mcp: set UNITY_SUBPATH to the Unity folder relative to ${workspace_root}." >&2
30
+ exit 1
31
+ fi
32
+ done
33
+
34
+ export UNITY_PROJECT_PATH="${project_path}"
35
+ exec npx -y "unity-open-mcp@__UNITY_OPEN_MCP_VERSION__" "$@"