unity-mcp-cli 0.76.0 → 0.76.1

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.
@@ -7,6 +7,33 @@ export declare function getProjectEditorVersion(projectPath: string): string | n
7
7
  * Uses Unity Hub to locate installed editors. Installs Unity Hub automatically if needed.
8
8
  */
9
9
  export declare function findEditorPath(version?: string): Promise<string | null>;
10
+ /**
11
+ * Resolve Unity Hub's `secondaryInstallPath.json` file location for the given
12
+ * platform. Returns null on unsupported platforms or when the required env var
13
+ * (e.g. `APPDATA` on Windows) is missing.
14
+ *
15
+ * Exported for tests; not part of the package's public API.
16
+ */
17
+ export declare function getSecondaryInstallPathFile(os: NodeJS.Platform): string | null;
18
+ /**
19
+ * Read Unity Hub's `secondaryInstallPath.json` and return the parsed install
20
+ * root(s). The file is a single JSON-encoded string (per Unity Hub) on every
21
+ * supported platform, e.g. `"C:\\UnityEditor"`. We also tolerate an array of
22
+ * strings defensively in case Unity Hub ever extends the format.
23
+ *
24
+ * Treats every failure mode as "no secondary roots configured":
25
+ * - file absent
26
+ * - file empty / whitespace only
27
+ * - file not valid JSON
28
+ * - parsed value is not a non-empty string (or array of strings)
29
+ * - I/O error reading the file
30
+ *
31
+ * In all those cases we return `[]` and the caller silently falls through to
32
+ * today's default-Hub-root scan. This matches the issue's "best-effort" spec
33
+ * and keeps `findEditorPathByCommonLocations` crash-free on misconfigured
34
+ * machines.
35
+ */
36
+ export declare function readSecondaryInstallPaths(os: NodeJS.Platform): string[];
10
37
  /**
11
38
  * Resolve the Unity binary path from an editor installation directory for a given platform.
12
39
  * Exported for testing purposes.
@@ -1,7 +1,7 @@
1
1
  import * as fs from 'fs';
2
2
  import * as path from 'path';
3
3
  import { spawn } from 'child_process';
4
- import { platform } from 'os';
4
+ import { homedir, platform } from 'os';
5
5
  import { findUnityHub, ensureUnityHub, listInstalledEditors } from './unity-hub.js';
6
6
  import { readCachedEditorPath, writeCachedEditorPath } from './editor-cache.js';
7
7
  import * as ui from './ui.js';
@@ -76,16 +76,21 @@ export async function findEditorPath(version) {
76
76
  verbose(`findEditorPath cache hit in ${Date.now() - startedAt}ms`);
77
77
  return cached;
78
78
  }
79
- // Fast path: if we know the version, check common install locations first (instant filesystem check)
80
- if (version) {
81
- const fastStartedAt = Date.now();
82
- const fastResult = findEditorPathByCommonLocations(version);
83
- verbose(`findEditorPath fast path completed in ${Date.now() - fastStartedAt}ms (${fastResult ? 'hit' : 'miss'})`);
84
- if (fastResult) {
85
- writeCachedEditorPath(version, fastResult);
86
- verbose(`findEditorPath resolved via common locations in ${Date.now() - startedAt}ms`);
87
- return fastResult;
88
- }
79
+ // Fast path: check common install locations first (instant filesystem
80
+ // check). Runs for both explicit-version requests (`findEditorPath('X')`)
81
+ // and the version-less "highest installed" request (`findEditorPath()`).
82
+ // Both branches benefit equally from reading
83
+ // `secondaryInstallPath.json` — the only difference is the candidate list
84
+ // shape (version-specific vs sorted-directory listing). When the fast path
85
+ // hits, it returns without ever spawning the Unity Hub Electron probe
86
+ // (the ~14s cache-miss cost in issue #784).
87
+ const fastStartedAt = Date.now();
88
+ const fastResult = findEditorPathByCommonLocations(version);
89
+ verbose(`findEditorPath fast path completed in ${Date.now() - fastStartedAt}ms (${fastResult ? 'hit' : 'miss'})`);
90
+ if (fastResult) {
91
+ writeCachedEditorPath(version, fastResult);
92
+ verbose(`findEditorPath resolved via common locations in ${Date.now() - startedAt}ms`);
93
+ return fastResult;
89
94
  }
90
95
  // Slow path: query Unity Hub CLI for installed editors
91
96
  const hubStartedAt = Date.now();
@@ -121,82 +126,218 @@ export async function findEditorPath(version) {
121
126
  return resolved;
122
127
  }
123
128
  }
124
- // Return the highest installed editor by version-aware sorting
129
+ // Return the highest installed editor by version-aware sorting.
130
+ // Cache discipline: only write under the requested key when the
131
+ // resolved editor's version actually matches the request. Otherwise
132
+ // (e.g. the user asked for `999.0.0f0` which is not installed)
133
+ // we still return the highest installed editor as a best-effort
134
+ // fallback, but DO NOT cache it — caching would silently return the
135
+ // wrong editor for that version forever after (issue #784). The
136
+ // version-less `__auto__` slot is always safe to cache.
125
137
  const sorted = [...editors].sort((a, b) => compareUnityVersions(b.version, a.version));
126
138
  const resolved = getEditorBinary(sorted[0].path);
127
- writeCachedEditorPath(version, resolved);
139
+ if (version === undefined || sorted[0].version === version) {
140
+ writeCachedEditorPath(version, resolved);
141
+ }
142
+ else {
143
+ verbose(`findEditorPath skipping cache write: requested ${version} did not match resolved ${sorted[0].version}`);
144
+ }
128
145
  verbose(`findEditorPath selected highest installed version ${sorted[0].version} in ${Date.now() - startedAt}ms`);
129
146
  return resolved;
130
147
  }
148
+ /**
149
+ * Resolve Unity Hub's `secondaryInstallPath.json` file location for the given
150
+ * platform. Returns null on unsupported platforms or when the required env var
151
+ * (e.g. `APPDATA` on Windows) is missing.
152
+ *
153
+ * Exported for tests; not part of the package's public API.
154
+ */
155
+ export function getSecondaryInstallPathFile(os) {
156
+ switch (os) {
157
+ case 'win32': {
158
+ const appData = process.env['APPDATA'];
159
+ if (!appData)
160
+ return null;
161
+ return path.join(appData, 'UnityHub', 'secondaryInstallPath.json');
162
+ }
163
+ case 'darwin':
164
+ return path.join(homedir(), 'Library', 'Application Support', 'UnityHub', 'secondaryInstallPath.json');
165
+ case 'linux':
166
+ return path.join(homedir(), '.config', 'UnityHub', 'secondaryInstallPath.json');
167
+ default:
168
+ return null;
169
+ }
170
+ }
171
+ /**
172
+ * Read Unity Hub's `secondaryInstallPath.json` and return the parsed install
173
+ * root(s). The file is a single JSON-encoded string (per Unity Hub) on every
174
+ * supported platform, e.g. `"C:\\UnityEditor"`. We also tolerate an array of
175
+ * strings defensively in case Unity Hub ever extends the format.
176
+ *
177
+ * Treats every failure mode as "no secondary roots configured":
178
+ * - file absent
179
+ * - file empty / whitespace only
180
+ * - file not valid JSON
181
+ * - parsed value is not a non-empty string (or array of strings)
182
+ * - I/O error reading the file
183
+ *
184
+ * In all those cases we return `[]` and the caller silently falls through to
185
+ * today's default-Hub-root scan. This matches the issue's "best-effort" spec
186
+ * and keeps `findEditorPathByCommonLocations` crash-free on misconfigured
187
+ * machines.
188
+ */
189
+ export function readSecondaryInstallPaths(os) {
190
+ const file = getSecondaryInstallPathFile(os);
191
+ if (!file)
192
+ return [];
193
+ if (!fs.existsSync(file))
194
+ return [];
195
+ let raw;
196
+ try {
197
+ raw = fs.readFileSync(file, 'utf-8');
198
+ }
199
+ catch {
200
+ return [];
201
+ }
202
+ if (!raw.trim())
203
+ return [];
204
+ let parsed;
205
+ try {
206
+ parsed = JSON.parse(raw);
207
+ }
208
+ catch {
209
+ return [];
210
+ }
211
+ if (typeof parsed === 'string') {
212
+ const trimmed = parsed.trim();
213
+ return trimmed ? [trimmed] : [];
214
+ }
215
+ if (Array.isArray(parsed)) {
216
+ return parsed
217
+ .filter((p) => typeof p === 'string' && p.trim().length > 0)
218
+ .map((p) => p.trim());
219
+ }
220
+ return [];
221
+ }
222
+ /**
223
+ * Build a comparison key for an editor-root path, used to dedupe a
224
+ * `secondaryInstallPath.json` entry against the platform's default root.
225
+ * Returns a normalized form: redundant separators collapsed via
226
+ * `path.normalize`, a single trailing separator stripped, and (on Windows
227
+ * only) lowercased so `c:\…` and `C:\…` compare equal. Posix paths preserve
228
+ * their case because Posix filesystems are case-sensitive. The original
229
+ * string is still used for `existsSync` and verbose logs — only the
230
+ * comparison key is normalized.
231
+ */
232
+ function normalizeRootForDedup(root, os) {
233
+ let normalized = path.normalize(root);
234
+ // Strip a single trailing separator (path.sep is `\\` on win32, `/` on posix).
235
+ if (normalized.length > 1 && normalized.endsWith(path.sep)) {
236
+ normalized = normalized.slice(0, -1);
237
+ }
238
+ return os === 'win32' ? normalized.toLowerCase() : normalized;
239
+ }
131
240
  /**
132
241
  * Find editor by checking common installation directories.
242
+ *
243
+ * Scans, in order:
244
+ * 1. The platform's default Unity Hub editor root
245
+ * (e.g. `%PROGRAMFILES%\Unity\Hub\Editor` on Windows).
246
+ * 2. Every root listed in Unity Hub's `secondaryInstallPath.json`
247
+ * (e.g. `C:\UnityEditor\` if the user moved their installs).
248
+ *
249
+ * Reading `secondaryInstallPath.json` keeps cache-miss latency in the
250
+ * sub-100ms range for users whose editors live outside the default Hub root,
251
+ * avoiding the ~14s Unity Hub Electron probe (issue #784).
133
252
  */
134
253
  function findEditorPathByCommonLocations(version) {
135
254
  const startedAt = Date.now();
136
255
  const os = platform();
137
256
  const candidates = [];
257
+ // Layout per platform: a `defaultRoots` list of "Hub editor root"
258
+ // directories (e.g. `<programFiles>/Unity/Hub/Editor`) and a per-platform
259
+ // builder that turns "(root, version)" into the binary path under it.
260
+ // We append the same shapes for every root, default + secondary, so the
261
+ // candidate list is uniform regardless of where the install lives.
262
+ const defaultRoots = [];
263
+ let buildBinaryPath;
138
264
  switch (os) {
139
265
  case 'win32': {
140
266
  const programFiles = process.env['PROGRAMFILES'] ?? 'C:\\Program Files';
141
- if (version) {
142
- candidates.push(path.join(programFiles, 'Unity', 'Hub', 'Editor', version, 'Editor', 'Unity.exe'));
143
- }
144
- // Check for any editor
145
- const hubEditorDir = path.join(programFiles, 'Unity', 'Hub', 'Editor');
146
- if (fs.existsSync(hubEditorDir)) {
147
- try {
148
- const versions = fs.readdirSync(hubEditorDir).sort((a, b) => compareUnityVersions(b, a));
149
- for (const v of versions) {
150
- candidates.push(path.join(hubEditorDir, v, 'Editor', 'Unity.exe'));
151
- }
152
- }
153
- catch { /* ignore */ }
154
- }
267
+ defaultRoots.push(path.join(programFiles, 'Unity', 'Hub', 'Editor'));
268
+ buildBinaryPath = (root, ver) => path.join(root, ver, 'Editor', 'Unity.exe');
155
269
  break;
156
270
  }
157
271
  case 'darwin': {
158
- if (version) {
159
- candidates.push(`/Applications/Unity/Hub/Editor/${version}/Unity.app/Contents/MacOS/Unity`);
160
- }
161
- const hubEditorDir = '/Applications/Unity/Hub/Editor';
162
- if (fs.existsSync(hubEditorDir)) {
163
- try {
164
- const versions = fs.readdirSync(hubEditorDir).sort((a, b) => compareUnityVersions(b, a));
165
- for (const v of versions) {
166
- candidates.push(path.join(hubEditorDir, v, 'Unity.app', 'Contents', 'MacOS', 'Unity'));
167
- }
168
- }
169
- catch { /* ignore */ }
170
- }
272
+ defaultRoots.push('/Applications/Unity/Hub/Editor');
273
+ buildBinaryPath = (root, ver) => path.join(root, ver, 'Unity.app', 'Contents', 'MacOS', 'Unity');
171
274
  break;
172
275
  }
173
276
  case 'linux': {
277
+ defaultRoots.push('/opt/unity/hub/Editor');
174
278
  const home = process.env['HOME'];
175
- if (version) {
176
- candidates.push(`/opt/unity/hub/Editor/${version}/Editor/Unity`);
177
- if (home)
178
- candidates.push(path.join(home, 'Unity', 'Hub', 'Editor', version, 'Editor', 'Unity'));
179
- }
180
- const linuxBaseDirs = ['/opt/unity/hub/Editor'];
181
279
  if (home)
182
- linuxBaseDirs.push(path.join(home, 'Unity', 'Hub', 'Editor'));
183
- for (const baseDir of linuxBaseDirs) {
184
- if (fs.existsSync(baseDir)) {
185
- try {
186
- const versions = fs.readdirSync(baseDir).sort((a, b) => compareUnityVersions(b, a));
187
- for (const v of versions) {
188
- candidates.push(path.join(baseDir, v, 'Editor', 'Unity'));
189
- }
190
- }
191
- catch { /* ignore */ }
280
+ defaultRoots.push(path.join(home, 'Unity', 'Hub', 'Editor'));
281
+ buildBinaryPath = (root, ver) => path.join(root, ver, 'Editor', 'Unity');
282
+ break;
283
+ }
284
+ default:
285
+ verbose(`findEditorPathByCommonLocations unsupported platform ${os} after ${Date.now() - startedAt}ms`);
286
+ return null;
287
+ }
288
+ // Secondary roots: read `secondaryInstallPath.json`. On every supported
289
+ // platform Unity Hub stores them as a single JSON string (or, defensively,
290
+ // an array of strings). Missing/malformed → empty array, no crash.
291
+ const secondaryRootsBeforeFiltering = readSecondaryInstallPaths(os);
292
+ // Drop duplicates that already appear in `defaultRoots` so the candidate
293
+ // list doesn't double-stat them. Compare via `normalizeRootForDedup` so a
294
+ // user-typed trailing separator (e.g. `C:\Program Files\Unity\Hub\Editor\`)
295
+ // or, on Windows, a drive-letter case difference (`c:\...` vs `C:\...`)
296
+ // still dedupes against the default root. The original string is kept for
297
+ // downstream `existsSync` and verbose logs — only the comparison key is
298
+ // normalized.
299
+ const defaultRootKeys = new Set(defaultRoots.map((r) => normalizeRootForDedup(r, os)));
300
+ const secondaryRoots = secondaryRootsBeforeFiltering.filter((r) => !defaultRootKeys.has(normalizeRootForDedup(r, os)));
301
+ if (secondaryRoots.length > 0) {
302
+ verbose(`findEditorPathByCommonLocations including ${secondaryRoots.length} secondary root(s): ${secondaryRoots.join(', ')}`);
303
+ }
304
+ // Build the candidate list. When the caller requested a specific version we
305
+ // ONLY emit the version-specific candidate under each root — never the
306
+ // sorted-directory fallback. Falling through to "any installed editor"
307
+ // inside a version-specific lookup is what produced the cache-poisoning
308
+ // failure mode in issue #784 (the fast path silently returned a wrong-
309
+ // version editor and the caller cached it under the requested key). When
310
+ // the caller did NOT supply a version, we DO emit the sorted directory
311
+ // listing — that's a legitimate "highest installed" lookup. The default
312
+ // root is scanned before any secondary root, preserving the previous
313
+ // behaviour for users without secondary roots.
314
+ const allRoots = [...defaultRoots, ...secondaryRoots];
315
+ const rootIsSecondary = new Map(allRoots.map((r) => [r, secondaryRoots.includes(r)]));
316
+ for (const root of allRoots) {
317
+ if (version) {
318
+ candidates.push(buildBinaryPath(root, version));
319
+ continue;
320
+ }
321
+ if (fs.existsSync(root)) {
322
+ try {
323
+ const versions = fs.readdirSync(root).sort((a, b) => compareUnityVersions(b, a));
324
+ for (const v of versions) {
325
+ candidates.push(buildBinaryPath(root, v));
192
326
  }
193
327
  }
194
- break;
328
+ catch { /* ignore */ }
195
329
  }
196
330
  }
197
331
  for (const candidate of candidates) {
198
332
  if (fs.existsSync(candidate)) {
199
- verbose(`findEditorPathByCommonLocations hit ${candidate} after ${Date.now() - startedAt}ms (${candidates.length} candidates)`);
333
+ // Identify which root the hit came from so verbose logs distinguish a
334
+ // default-root hit from a `secondaryInstallPath` hit — useful when
335
+ // debugging users who report slow opens. Candidates are always built via
336
+ // `buildBinaryPath(root, ver)` which joins extra segments under `root`,
337
+ // so `startsWith(root + path.sep)` is the only reachable case.
338
+ const fromRoot = allRoots.find((root) => candidate.startsWith(root + path.sep));
339
+ const origin = fromRoot && rootIsSecondary.get(fromRoot) ? 'secondaryInstallPath' : 'default Hub root';
340
+ verbose(`findEditorPathByCommonLocations hit ${candidate} (${origin}) after ${Date.now() - startedAt}ms (${candidates.length} candidates)`);
200
341
  return candidate;
201
342
  }
202
343
  }
@@ -1 +1 @@
1
- {"version":3,"file":"unity-editor.js","sourceRoot":"","sources":["../../src/utils/unity-editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unity-editor.js","sourceRoot":"","sources":["../../src/utils/unity-editor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unity-mcp-cli",
3
- "version": "0.76.0",
3
+ "version": "0.76.1",
4
4
  "description": "Cross-platform CLI tool for AI Game Developer (Skills & MCP). Full AI develop and test loop. Efficient token usage, advanced tools. Creates Unity project, installs plugins, configures tools, and manages HTTP connection with Unity Editor and a game made with Unity. Works with Claude Code, Gemini, Copilot, Cursor and any other absolutely for free.",
5
5
  "type": "module",
6
6
  "main": "dist/lib.js",