unity-mcp-cli 0.52.0 → 0.54.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.
- package/README.md +85 -66
- package/dist/commands/configure.js +17 -13
- package/dist/commands/configure.js.map +1 -1
- package/dist/commands/create-project.js +17 -5
- package/dist/commands/create-project.js.map +1 -1
- package/dist/commands/install-plugin.js +20 -6
- package/dist/commands/install-plugin.js.map +1 -1
- package/dist/commands/install-unity.d.ts +2 -0
- package/dist/commands/install-unity.js +72 -0
- package/dist/commands/install-unity.js.map +1 -0
- package/dist/commands/open.js +82 -10
- package/dist/commands/open.js.map +1 -1
- package/dist/commands/remove-plugin.d.ts +2 -0
- package/dist/commands/remove-plugin.js +29 -0
- package/dist/commands/remove-plugin.js.map +1 -0
- package/dist/index.js +34 -11
- package/dist/index.js.map +1 -1
- package/dist/utils/manifest.d.ts +12 -3
- package/dist/utils/manifest.js +53 -29
- package/dist/utils/manifest.js.map +1 -1
- package/dist/utils/ui.d.ts +70 -0
- package/dist/utils/ui.js +288 -0
- package/dist/utils/ui.js.map +1 -0
- package/dist/utils/unity-editor.d.ts +5 -0
- package/dist/utils/unity-editor.js +49 -3
- package/dist/utils/unity-editor.js.map +1 -1
- package/dist/utils/unity-hub.d.ts +29 -1
- package/dist/utils/unity-hub.js +291 -22
- package/dist/utils/unity-hub.js.map +1 -1
- package/docs/README.es.md +333 -0
- package/docs/README.ja.md +333 -0
- package/docs/README.zh-CN.md +333 -0
- package/package.json +3 -3
- package/dist/commands/connect.d.ts +0 -2
- package/dist/commands/connect.js +0 -81
- package/dist/commands/connect.js.map +0 -1
- package/dist/commands/install-editor.d.ts +0 -2
- package/dist/commands/install-editor.js +0 -49
- package/dist/commands/install-editor.js.map +0 -1
package/dist/utils/unity-hub.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
import * as os from 'os';
|
|
4
|
-
import { execFileSync, execSync } from 'child_process';
|
|
4
|
+
import { execFileSync, execSync, spawn } from 'child_process';
|
|
5
5
|
import { platform } from 'os';
|
|
6
6
|
import { get as httpsGet } from 'https';
|
|
7
7
|
import { get as httpGet } from 'http';
|
|
8
|
+
import * as ui from './ui.js';
|
|
9
|
+
import { verbose } from './ui.js';
|
|
8
10
|
const UNITY_HUB_DOWNLOAD_URLS = {
|
|
9
11
|
win32: 'https://public-cdn.cloud.unity3d.com/hub/prod/UnityHubSetup.exe',
|
|
10
12
|
darwin: 'https://public-cdn.cloud.unity3d.com/hub/prod/UnityHubSetup.dmg',
|
|
@@ -29,10 +31,13 @@ export function findUnityHub() {
|
|
|
29
31
|
break;
|
|
30
32
|
}
|
|
31
33
|
for (const candidate of candidates) {
|
|
34
|
+
verbose(`Checking Unity Hub candidate: ${candidate}`);
|
|
32
35
|
if (candidate && fs.existsSync(candidate)) {
|
|
36
|
+
verbose(`Found Unity Hub at: ${candidate}`);
|
|
33
37
|
return candidate;
|
|
34
38
|
}
|
|
35
39
|
}
|
|
40
|
+
verbose('Unity Hub not found in any candidate location');
|
|
36
41
|
return null;
|
|
37
42
|
}
|
|
38
43
|
/**
|
|
@@ -72,9 +77,16 @@ export async function installUnityHub() {
|
|
|
72
77
|
switch (plat) {
|
|
73
78
|
case 'win32': {
|
|
74
79
|
const installerPath = path.join(tmpDir, 'UnityHubSetup.exe');
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
80
|
+
const spinner = ui.startSpinner('Downloading Unity Hub installer...');
|
|
81
|
+
try {
|
|
82
|
+
await downloadFile(url, installerPath);
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
spinner.error('Failed to download Unity Hub installer');
|
|
86
|
+
throw err;
|
|
87
|
+
}
|
|
88
|
+
spinner.success('Unity Hub installer downloaded');
|
|
89
|
+
ui.info('Installing Unity Hub silently (may require administrator privileges)...');
|
|
78
90
|
try {
|
|
79
91
|
execFileSync(installerPath, ['/S'], { timeout: 300000, stdio: 'inherit' });
|
|
80
92
|
}
|
|
@@ -92,9 +104,16 @@ export async function installUnityHub() {
|
|
|
92
104
|
}
|
|
93
105
|
case 'darwin': {
|
|
94
106
|
const dmgPath = path.join(tmpDir, 'UnityHubSetup.dmg');
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
107
|
+
const spinner = ui.startSpinner('Downloading Unity Hub installer...');
|
|
108
|
+
try {
|
|
109
|
+
await downloadFile(url, dmgPath);
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
spinner.error('Failed to download Unity Hub installer');
|
|
113
|
+
throw err;
|
|
114
|
+
}
|
|
115
|
+
spinner.success('Unity Hub installer downloaded');
|
|
116
|
+
const installSpinner = ui.startSpinner('Installing Unity Hub...');
|
|
98
117
|
try {
|
|
99
118
|
const mountOutput = execSync(`hdiutil attach -nobrowse -noverify "${dmgPath}"`, { encoding: 'utf-8' });
|
|
100
119
|
const mountMatch = mountOutput.match(/\/Volumes\/.+/);
|
|
@@ -107,6 +126,11 @@ export async function installUnityHub() {
|
|
|
107
126
|
finally {
|
|
108
127
|
execSync(`hdiutil detach "${mountPoint}" -quiet`, { stdio: 'ignore' });
|
|
109
128
|
}
|
|
129
|
+
installSpinner.success('Unity Hub installed');
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
installSpinner.error('Unity Hub installation failed');
|
|
133
|
+
throw err;
|
|
110
134
|
}
|
|
111
135
|
finally {
|
|
112
136
|
try {
|
|
@@ -123,11 +147,17 @@ export async function installUnityHub() {
|
|
|
123
147
|
case 'linux': {
|
|
124
148
|
const appDir = path.join(process.env['HOME'] ?? '', 'Applications');
|
|
125
149
|
const appImagePath = path.join(appDir, 'UnityHub.AppImage');
|
|
126
|
-
|
|
150
|
+
const spinner = ui.startSpinner('Downloading Unity Hub AppImage...');
|
|
127
151
|
fs.mkdirSync(appDir, { recursive: true });
|
|
128
|
-
|
|
152
|
+
try {
|
|
153
|
+
await downloadFile(url, appImagePath);
|
|
154
|
+
}
|
|
155
|
+
catch (err) {
|
|
156
|
+
spinner.error('Failed to download Unity Hub AppImage');
|
|
157
|
+
throw err;
|
|
158
|
+
}
|
|
129
159
|
fs.chmodSync(appImagePath, 0o755);
|
|
130
|
-
|
|
160
|
+
spinner.success(`Unity Hub installed at: ${appImagePath}`);
|
|
131
161
|
return appImagePath;
|
|
132
162
|
}
|
|
133
163
|
default:
|
|
@@ -141,17 +171,18 @@ export async function ensureUnityHub() {
|
|
|
141
171
|
const hubPath = findUnityHub();
|
|
142
172
|
if (hubPath)
|
|
143
173
|
return hubPath;
|
|
144
|
-
|
|
174
|
+
ui.warn('Unity Hub not found. Installing automatically...');
|
|
145
175
|
return installUnityHub();
|
|
146
176
|
}
|
|
147
177
|
/**
|
|
148
178
|
* List installed Unity editors via Unity Hub CLI.
|
|
149
179
|
*/
|
|
150
180
|
export function listInstalledEditors(hubPath) {
|
|
181
|
+
const spinner = ui.startSpinner('Listing installed editors...');
|
|
151
182
|
try {
|
|
152
183
|
const output = execFileSync(hubPath, ['--', '--headless', 'editors', '--installed'], {
|
|
153
184
|
encoding: 'utf-8',
|
|
154
|
-
timeout:
|
|
185
|
+
timeout: 120000,
|
|
155
186
|
});
|
|
156
187
|
const editors = [];
|
|
157
188
|
for (const line of output.split('\n')) {
|
|
@@ -164,10 +195,11 @@ export function listInstalledEditors(hubPath) {
|
|
|
164
195
|
editors.push({ version: match[1], path: match[2].trim() });
|
|
165
196
|
}
|
|
166
197
|
}
|
|
198
|
+
spinner.success(`Found ${editors.length} installed editor${editors.length !== 1 ? 's' : ''}`);
|
|
167
199
|
return editors;
|
|
168
200
|
}
|
|
169
201
|
catch (err) {
|
|
170
|
-
|
|
202
|
+
spinner.error(`Failed to list installed editors: ${err.message}`);
|
|
171
203
|
return [];
|
|
172
204
|
}
|
|
173
205
|
}
|
|
@@ -206,16 +238,253 @@ export function findHighestEditor(editors) {
|
|
|
206
238
|
return editors.reduce((highest, current) => compareUnityVersions(current.version, highest.version) > 0 ? current : highest);
|
|
207
239
|
}
|
|
208
240
|
/**
|
|
209
|
-
*
|
|
241
|
+
* List available Unity editor releases from Unity Hub CLI.
|
|
210
242
|
*/
|
|
211
|
-
export function
|
|
212
|
-
|
|
243
|
+
export function listAvailableReleases(hubPath) {
|
|
244
|
+
const spinner = ui.startSpinner('Fetching available releases...');
|
|
213
245
|
try {
|
|
214
|
-
execFileSync(hubPath, ['--', '--headless', '
|
|
246
|
+
const output = execFileSync(hubPath, ['--', '--headless', 'editors', '--releases'], {
|
|
247
|
+
encoding: 'utf-8',
|
|
248
|
+
timeout: 120000,
|
|
249
|
+
});
|
|
250
|
+
const releases = [];
|
|
251
|
+
for (const line of output.split('\n')) {
|
|
252
|
+
const trimmed = line.trim();
|
|
253
|
+
if (!trimmed)
|
|
254
|
+
continue;
|
|
255
|
+
// Extract version from line (may also contain "installed at ..." suffix)
|
|
256
|
+
const match = trimmed.match(/^([\d.]+[a-zA-Z]\d+)/);
|
|
257
|
+
if (match) {
|
|
258
|
+
const version = match[1];
|
|
259
|
+
const isStable = /f\d+$/.test(version);
|
|
260
|
+
releases.push({ version, isStable });
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
spinner.success(`Found ${releases.length} available release${releases.length !== 1 ? 's' : ''}`);
|
|
264
|
+
return releases;
|
|
215
265
|
}
|
|
216
266
|
catch (err) {
|
|
217
|
-
|
|
267
|
+
spinner.error(`Failed to fetch available releases: ${err.message}`);
|
|
268
|
+
return [];
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Find the latest stable (f-suffix) release from the available releases.
|
|
273
|
+
*/
|
|
274
|
+
export function findLatestStableRelease(releases) {
|
|
275
|
+
const stable = releases.filter(r => r.isStable);
|
|
276
|
+
if (stable.length === 0)
|
|
277
|
+
return null;
|
|
278
|
+
return stable.reduce((highest, current) => compareUnityVersions(current.version, highest.version) > 0 ? current : highest);
|
|
279
|
+
}
|
|
280
|
+
const FETCH_TIMEOUT_MS = 10000;
|
|
281
|
+
const FETCH_MAX_REDIRECTS = 5;
|
|
282
|
+
/**
|
|
283
|
+
* Fetch a URL and return the response body as a string.
|
|
284
|
+
* Supports redirect following up to FETCH_MAX_REDIRECTS deep, and enforces a
|
|
285
|
+
* FETCH_TIMEOUT_MS request timeout to prevent indefinite hangs.
|
|
286
|
+
*/
|
|
287
|
+
function fetchUrl(url, redirectsRemaining = FETCH_MAX_REDIRECTS) {
|
|
288
|
+
return new Promise((resolve, reject) => {
|
|
289
|
+
const controller = new AbortController();
|
|
290
|
+
const timer = setTimeout(() => {
|
|
291
|
+
controller.abort();
|
|
292
|
+
reject(new Error(`Request timed out after ${FETCH_TIMEOUT_MS}ms: ${url}`));
|
|
293
|
+
}, FETCH_TIMEOUT_MS);
|
|
294
|
+
const doGet = url.startsWith('https') ? httpsGet : httpGet;
|
|
295
|
+
const req = doGet(url, { signal: controller.signal }, (response) => {
|
|
296
|
+
if (response.statusCode && response.statusCode >= 300 && response.statusCode < 400 && response.headers.location) {
|
|
297
|
+
clearTimeout(timer);
|
|
298
|
+
if (redirectsRemaining <= 0) {
|
|
299
|
+
response.resume();
|
|
300
|
+
reject(new Error(`Too many redirects (max ${FETCH_MAX_REDIRECTS}) fetching: ${url}`));
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
response.resume();
|
|
304
|
+
fetchUrl(new URL(response.headers.location, url).toString(), redirectsRemaining - 1).then(resolve, reject);
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
if (response.statusCode && response.statusCode !== 200) {
|
|
308
|
+
clearTimeout(timer);
|
|
309
|
+
response.resume();
|
|
310
|
+
reject(new Error(`HTTP ${response.statusCode}`));
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
const chunks = [];
|
|
314
|
+
response.on('data', (chunk) => chunks.push(chunk));
|
|
315
|
+
response.on('end', () => { clearTimeout(timer); resolve(Buffer.concat(chunks).toString('utf-8')); });
|
|
316
|
+
response.on('error', (err) => { clearTimeout(timer); reject(err); });
|
|
317
|
+
});
|
|
318
|
+
req.on('error', (err) => { clearTimeout(timer); reject(err); });
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Resolve the changeset hash for a Unity version by scraping the release notes page.
|
|
323
|
+
* Returns the changeset string, or null if not found.
|
|
324
|
+
*/
|
|
325
|
+
// Unity version format: major.minor.patchSuffix (e.g. 2022.3.62f3, 6000.3.1f1)
|
|
326
|
+
const UNITY_VERSION_RE = /^\d+\.\d+\.\d+[a-zA-Z]\d+$/;
|
|
327
|
+
export function isValidUnityVersion(version) {
|
|
328
|
+
return UNITY_VERSION_RE.test(version);
|
|
329
|
+
}
|
|
330
|
+
export async function resolveChangeset(version) {
|
|
331
|
+
if (!isValidUnityVersion(version))
|
|
332
|
+
return null;
|
|
333
|
+
const url = `https://unity.com/releases/editor/whats-new/${version}`;
|
|
334
|
+
try {
|
|
335
|
+
const html = await fetchUrl(url);
|
|
336
|
+
// Look for unityhub://VERSION/CHANGESET pattern
|
|
337
|
+
const match = html.match(/unityhub:\/\/[^/]+\/([a-f0-9]{12})/);
|
|
338
|
+
if (match)
|
|
339
|
+
return match[1];
|
|
340
|
+
return null;
|
|
341
|
+
}
|
|
342
|
+
catch {
|
|
343
|
+
return null;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Parse Unity Hub CLI stdout and update the progress bar accordingly.
|
|
348
|
+
* Hub output lines look like:
|
|
349
|
+
* [Unity (6000.3.11f1)] downloading 50.54%
|
|
350
|
+
* [Unity (6000.3.11f1)] validating download...
|
|
351
|
+
* [Unity (6000.3.11f1)] installing...
|
|
352
|
+
* [Unity (6000.3.11f1)] installed successfully.
|
|
353
|
+
*/
|
|
354
|
+
export function parseHubProgress(line) {
|
|
355
|
+
const trimmed = line.replace(/\x1b\[[0-9;]*[A-Za-z]/g, '').trim();
|
|
356
|
+
if (!trimmed || trimmed === 'Progress:' || trimmed === 'All Tasks Completed Successfully.')
|
|
357
|
+
return null;
|
|
358
|
+
// Match: [Unity (VERSION)] STATUS
|
|
359
|
+
const match = trimmed.match(/^\[.+?\]\s+(.+)$/);
|
|
360
|
+
if (!match)
|
|
361
|
+
return null;
|
|
362
|
+
const status = match[1];
|
|
363
|
+
// "downloading 50.54%"
|
|
364
|
+
const dlMatch = status.match(/^downloading\s+([\d.]+)%$/);
|
|
365
|
+
if (dlMatch) {
|
|
366
|
+
return { percent: parseFloat(dlMatch[1]), status: 'Downloading' };
|
|
367
|
+
}
|
|
368
|
+
// Map known phases to approximate progress
|
|
369
|
+
if (status.includes('validating download'))
|
|
370
|
+
return { percent: 0, status: 'Validating download' };
|
|
371
|
+
if (status.includes('in progress'))
|
|
372
|
+
return { percent: 0, status: 'Starting download' };
|
|
373
|
+
if (status.includes('finished downloading'))
|
|
374
|
+
return { percent: 100, status: 'Download complete' };
|
|
375
|
+
if (status.includes('queued for install'))
|
|
376
|
+
return { percent: 100, status: 'Queued for install' };
|
|
377
|
+
if (status.includes('validating installation'))
|
|
378
|
+
return { percent: 100, status: 'Validating installation' };
|
|
379
|
+
if (status.includes('installing'))
|
|
380
|
+
return { percent: 100, status: 'Installing' };
|
|
381
|
+
if (status.includes('installed successfully'))
|
|
382
|
+
return { percent: 100, status: 'Installed' };
|
|
383
|
+
return { percent: 0, status };
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Run Unity Hub install command with a progress bar.
|
|
387
|
+
* Spawns the process and parses stdout to display download/install progress.
|
|
388
|
+
*/
|
|
389
|
+
function runHubInstallWithProgress(hubPath, args, version) {
|
|
390
|
+
return new Promise((resolve, reject) => {
|
|
391
|
+
const progress = ui.createProgressBar();
|
|
392
|
+
let activeSpinner = ui.startSpinner(`Preparing Unity Editor ${version}...`);
|
|
393
|
+
let isDownloading = false;
|
|
394
|
+
const proc = spawn(hubPath, args, { stdio: ['ignore', 'pipe', 'pipe'] });
|
|
395
|
+
let stderr = '';
|
|
396
|
+
function stopActiveSpinner(msg) {
|
|
397
|
+
if (activeSpinner) {
|
|
398
|
+
activeSpinner.success(msg);
|
|
399
|
+
activeSpinner = null;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
function startPhaseSpinner(status) {
|
|
403
|
+
stopActiveSpinner(activeSpinner?.text ?? '');
|
|
404
|
+
activeSpinner = ui.startSpinner(`${status}...`);
|
|
405
|
+
}
|
|
406
|
+
let stdoutBuffer = '';
|
|
407
|
+
proc.stdout.on('data', (data) => {
|
|
408
|
+
const text = stdoutBuffer + data.toString('utf-8');
|
|
409
|
+
const lines = text.split('\n');
|
|
410
|
+
stdoutBuffer = lines.pop() ?? '';
|
|
411
|
+
for (const line of lines) {
|
|
412
|
+
const parsed = parseHubProgress(line);
|
|
413
|
+
if (!parsed)
|
|
414
|
+
continue;
|
|
415
|
+
if (parsed.status === 'Downloading' || parsed.status === 'Starting download') {
|
|
416
|
+
if (!isDownloading) {
|
|
417
|
+
isDownloading = true;
|
|
418
|
+
stopActiveSpinner(`Downloading Unity Editor ${version}`);
|
|
419
|
+
}
|
|
420
|
+
progress.update(parsed.percent, `Downloading Unity Editor ${version}`);
|
|
421
|
+
}
|
|
422
|
+
else if (parsed.status === 'Download complete') {
|
|
423
|
+
if (isDownloading) {
|
|
424
|
+
progress.complete(`Unity Editor ${version} downloaded`);
|
|
425
|
+
isDownloading = false;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
else if (parsed.status === 'Installed') {
|
|
429
|
+
stopActiveSpinner(`Unity Editor ${version} installed`);
|
|
430
|
+
}
|
|
431
|
+
else {
|
|
432
|
+
// Post-download phases: show as a spinner so the user sees activity
|
|
433
|
+
if (!isDownloading) {
|
|
434
|
+
startPhaseSpinner(parsed.status);
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
});
|
|
439
|
+
proc.stderr.on('data', (data) => { stderr += data.toString('utf-8'); });
|
|
440
|
+
proc.on('close', (code) => {
|
|
441
|
+
if (activeSpinner)
|
|
442
|
+
activeSpinner.stop();
|
|
443
|
+
if (code === 0) {
|
|
444
|
+
if (isDownloading) {
|
|
445
|
+
progress.complete(`Unity Editor ${version} downloaded`);
|
|
446
|
+
}
|
|
447
|
+
resolve();
|
|
448
|
+
}
|
|
449
|
+
else {
|
|
450
|
+
if (isDownloading) {
|
|
451
|
+
progress.fail(`Download failed for Unity Editor ${version}`);
|
|
452
|
+
}
|
|
453
|
+
reject(new Error(`Failed to install Unity Editor ${version} (exit code ${code})` +
|
|
454
|
+
(stderr ? `:\n${stderr.trim()}` : '')));
|
|
455
|
+
}
|
|
456
|
+
});
|
|
457
|
+
proc.on('error', (err) => {
|
|
458
|
+
if (activeSpinner)
|
|
459
|
+
activeSpinner.stop();
|
|
460
|
+
reject(new Error(`Failed to install Unity Editor ${version}: ${err.message}`));
|
|
461
|
+
});
|
|
462
|
+
});
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Install a Unity editor version via Unity Hub CLI.
|
|
466
|
+
* Automatically resolves changeset for versions not in the promoted releases list.
|
|
467
|
+
* Shows a progress bar during download and status during installation.
|
|
468
|
+
*/
|
|
469
|
+
export async function installEditor(hubPath, version, prefetchedReleases) {
|
|
470
|
+
// Use pre-fetched releases when available to avoid a duplicate Hub CLI call
|
|
471
|
+
const releases = prefetchedReleases ?? listAvailableReleases(hubPath);
|
|
472
|
+
const isPromoted = releases.some(r => r.version === version);
|
|
473
|
+
const baseArgs = ['--', '--headless', 'install', '--version', version];
|
|
474
|
+
if (isPromoted) {
|
|
475
|
+
await runHubInstallWithProgress(hubPath, baseArgs, version);
|
|
476
|
+
return;
|
|
477
|
+
}
|
|
478
|
+
// Version not in releases — resolve changeset
|
|
479
|
+
const changesetSpinner = ui.startSpinner(`Resolving changeset for ${version}...`);
|
|
480
|
+
const changeset = await resolveChangeset(version);
|
|
481
|
+
if (!changeset) {
|
|
482
|
+
changesetSpinner.error(`Could not resolve changeset for ${version}`);
|
|
483
|
+
throw new Error(`Unity Editor ${version} is not in the promoted releases list and its changeset could not be resolved. ` +
|
|
484
|
+
`You can provide a changeset manually: unity-hub -- --headless install --version ${version} --changeset <hash>`);
|
|
218
485
|
}
|
|
486
|
+
changesetSpinner.success(`Resolved changeset: ${changeset}`);
|
|
487
|
+
await runHubInstallWithProgress(hubPath, [...baseArgs, '--changeset', changeset], version);
|
|
219
488
|
}
|
|
220
489
|
/**
|
|
221
490
|
* Resolve the Unity Editor executable path from an editor install path.
|
|
@@ -261,7 +530,7 @@ export function createProject(hubPath, projectPath, editorVersion) {
|
|
|
261
530
|
// Find the editor install path
|
|
262
531
|
const editors = listInstalledEditors(hubPath);
|
|
263
532
|
if (editors.length === 0) {
|
|
264
|
-
throw new Error('No Unity editors installed. Install one with: unity-mcp-cli install-
|
|
533
|
+
throw new Error('No Unity editors installed. Install one with: unity-mcp-cli install-unity [version]');
|
|
265
534
|
}
|
|
266
535
|
let editor;
|
|
267
536
|
if (editorVersion) {
|
|
@@ -278,15 +547,15 @@ export function createProject(hubPath, projectPath, editorVersion) {
|
|
|
278
547
|
throw new Error(`Unity Editor executable not found at: ${editorExe}`);
|
|
279
548
|
}
|
|
280
549
|
const args = ['-createProject', projectPath, '-quit', '-batchmode'];
|
|
281
|
-
|
|
282
|
-
|
|
550
|
+
ui.info(`Creating Unity project at: ${projectPath}`);
|
|
551
|
+
ui.label('Unity Editor', `${editor.version} (${editorExe})`);
|
|
283
552
|
try {
|
|
284
553
|
execFileSync(editorExe, args, {
|
|
285
554
|
encoding: 'utf-8',
|
|
286
555
|
timeout: 120000,
|
|
287
556
|
stdio: 'inherit',
|
|
288
557
|
});
|
|
289
|
-
|
|
558
|
+
ui.success('Project created successfully.');
|
|
290
559
|
}
|
|
291
560
|
catch (err) {
|
|
292
561
|
throw new Error(`Failed to create project: ${err.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unity-hub.js","sourceRoot":"","sources":["../../src/utils/unity-hub.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,IAAI,OAAO,EAAmB,MAAM,MAAM,CAAC;AAEvD,MAAM,uBAAuB,GAA2B;IACtD,KAAK,EAAE,iEAAiE;IACxE,MAAM,EAAE,iEAAiE;IACzE,KAAK,EAAE,iEAAiE;CACzE,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,UAAU,CAAC,IAAI,CACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,mBAAmB,EAAE,WAAW,EAAE,eAAe,CAAC,EAC3F,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAC3H,CAAC;YACF,MAAM;QACR,KAAK,QAAQ;YACX,UAAU,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACxE,MAAM;QACR,KAAK,OAAO;YACV,UAAU,CAAC,IAAI,CACb,oBAAoB,EACpB,qBAAqB,EACrB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACvG,CAAC;YACF,MAAM;IACV,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,GAAW,EAAE,QAAgB;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3D,KAAK,CAAC,GAAG,EAAE,CAAC,QAAyB,EAAE,EAAE;YACvC,mBAAmB;YACnB,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,IAAI,QAAQ,CAAC,UAAU,GAAG,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAChH,YAAY,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACjG,OAAO;YACT,CAAC;YACD,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBACvD,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBACxE,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,MAAM,GAAG,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,oDAAoD,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;IAE3B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,MAAM,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;YACvF,IAAI,CAAC;gBACH,YAAY,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7E,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC;oBAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;YACnG,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,MAAM,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,QAAQ,CAAC,uCAAuC,OAAO,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBACvG,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU;oBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAClE,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACH,QAAQ,CAAC,UAAU,UAAU,gCAAgC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBACvF,CAAC;wBAAS,CAAC;oBACT,QAAQ,CAAC,mBAAmB,UAAU,UAAU,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC;oBAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;YACpE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACjD,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1C,MAAM,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YACtC,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,2BAA2B,YAAY,EAAE,CAAC,CAAC;YACvD,OAAO,YAAY,CAAC;QACtB,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAE5B,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,OAAO,eAAe,EAAE,CAAC;AAC3B,CAAC;AAOD;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE;YACnF,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,MAAM,OAAO,GAAsB,EAAE,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,uDAAuD;YACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YACzE,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QAC3E,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,yEAAyE;IACzE,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAClD,IAAI,GAAG;YAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,CAAS,EAAE,CAAS;IAChD,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACpC,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,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IAC9B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA0B;IAC1D,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CACzC,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAC/E,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,OAAe;IAC5D,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,mBAAmB,CAAC,CAAC;IACnE,IAAI,CAAC;QACH,YAAY,CACV,OAAO,EACP,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,EACrD,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CACzD,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,UAAkB;IACjD,wEAAwE;IACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,IAAI,QAAQ,KAAK,WAAW,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC7H,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,OAAO;YACV,UAAU,CAAC,IAAI,CACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,EAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CACnC,CAAC;YACF,MAAM;QACR,KAAK,QAAQ;YACX,UAAU,CAAC,IAAI,CACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EAChE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CACpD,CAAC;YACF,MAAM;QACR;YACE,UAAU,CAAC,IAAI,CACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,EACxC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAC/B,CAAC;YACF,MAAM;IACV,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,WAAmB,EAAE,aAAsB;IACxF,+BAA+B;IAC/B,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;IACpH,CAAC;IAED,IAAI,MAAmC,CAAC;IACxC,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,gBAAgB,aAAa,mCAAmC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5H,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAEpE,OAAO,CAAC,GAAG,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,OAAO,KAAK,SAAS,GAAG,CAAC,CAAC;IACpE,IAAI,CAAC;QACH,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE;YAC5B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6BAA8B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"unity-hub.js","sourceRoot":"","sources":["../../src/utils/unity-hub.ts"],"names":[],"mappings":"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"}
|