unity-open-mcp 0.1.0 → 0.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 (447) hide show
  1. package/dist/agent-identity.d.ts +52 -0
  2. package/dist/agent-identity.js +115 -0
  3. package/dist/agent-identity.js.map +1 -0
  4. package/dist/batch-spawn.d.ts +7 -0
  5. package/dist/batch-spawn.js +155 -29
  6. package/dist/batch-spawn.js.map +1 -1
  7. package/dist/capabilities/build-capabilities.d.ts +45 -0
  8. package/dist/capabilities/build-capabilities.js +262 -27
  9. package/dist/capabilities/build-capabilities.js.map +1 -1
  10. package/dist/capabilities/cost-hints.d.ts +82 -0
  11. package/dist/capabilities/cost-hints.js +185 -0
  12. package/dist/capabilities/cost-hints.js.map +1 -0
  13. package/dist/capabilities/lifecycle.d.ts +40 -0
  14. package/dist/capabilities/lifecycle.js +353 -0
  15. package/dist/capabilities/lifecycle.js.map +1 -0
  16. package/dist/capabilities/rule-catalog.d.ts +13 -1
  17. package/dist/capabilities/rule-catalog.js +620 -75
  18. package/dist/capabilities/rule-catalog.js.map +1 -1
  19. package/dist/capabilities/tool-groups.d.ts +21 -0
  20. package/dist/capabilities/tool-groups.js +411 -14
  21. package/dist/capabilities/tool-groups.js.map +1 -1
  22. package/dist/cli/args.d.ts +32 -1
  23. package/dist/cli/args.js +201 -4
  24. package/dist/cli/args.js.map +1 -1
  25. package/dist/cli/cli.d.ts +21 -0
  26. package/dist/cli/cli.js +68 -5
  27. package/dist/cli/cli.js.map +1 -1
  28. package/dist/cli/commands.d.ts +33 -0
  29. package/dist/cli/commands.js +400 -0
  30. package/dist/cli/commands.js.map +1 -1
  31. package/dist/cli/exit-codes.d.ts +43 -0
  32. package/dist/cli/exit-codes.js +78 -0
  33. package/dist/cli/exit-codes.js.map +1 -0
  34. package/dist/compile-verify.d.ts +65 -0
  35. package/dist/compile-verify.js +94 -0
  36. package/dist/compile-verify.js.map +1 -0
  37. package/dist/compressible-router.js +64 -11
  38. package/dist/compressible-router.js.map +1 -1
  39. package/dist/compression/asset-model.d.ts +15 -0
  40. package/dist/compression/compact.d.ts +5 -4
  41. package/dist/compression/compact.js +13 -10
  42. package/dist/compression/compact.js.map +1 -1
  43. package/dist/dialog-dismiss.d.ts +127 -74
  44. package/dist/dialog-dismiss.js +427 -170
  45. package/dist/dialog-dismiss.js.map +1 -1
  46. package/dist/dialog-policy.d.ts +141 -0
  47. package/dist/dialog-policy.js +345 -0
  48. package/dist/dialog-policy.js.map +1 -0
  49. package/dist/gate-error.d.ts +6 -0
  50. package/dist/gate-error.js +13 -2
  51. package/dist/gate-error.js.map +1 -1
  52. package/dist/hub-control.d.ts +247 -0
  53. package/dist/hub-control.js +703 -0
  54. package/dist/hub-control.js.map +1 -0
  55. package/dist/index.d.ts +1 -1
  56. package/dist/index.js +46 -12
  57. package/dist/index.js.map +1 -1
  58. package/dist/live-client.d.ts +123 -3
  59. package/dist/live-client.js +526 -69
  60. package/dist/live-client.js.map +1 -1
  61. package/dist/offline.d.ts +105 -0
  62. package/dist/offline.js +816 -23
  63. package/dist/offline.js.map +1 -1
  64. package/dist/output-profile.d.ts +110 -0
  65. package/dist/output-profile.js +255 -0
  66. package/dist/output-profile.js.map +1 -0
  67. package/dist/retry-policy.d.ts +72 -0
  68. package/dist/retry-policy.js +146 -0
  69. package/dist/retry-policy.js.map +1 -0
  70. package/dist/routers.d.ts +4 -0
  71. package/dist/routers.js +2 -2
  72. package/dist/routers.js.map +1 -1
  73. package/dist/server-instructions.d.ts +18 -0
  74. package/dist/server-instructions.js +145 -0
  75. package/dist/server-instructions.js.map +1 -0
  76. package/dist/tool-router.d.ts +38 -1
  77. package/dist/tool-router.js +690 -37
  78. package/dist/tool-router.js.map +1 -1
  79. package/dist/tool-session-state.d.ts +37 -0
  80. package/dist/tool-session-state.js +78 -1
  81. package/dist/tool-session-state.js.map +1 -1
  82. package/dist/tools/apply-fix.js +16 -2
  83. package/dist/tools/apply-fix.js.map +1 -1
  84. package/dist/tools/asmdef-create.d.ts +2 -0
  85. package/dist/tools/asmdef-create.js +114 -0
  86. package/dist/tools/asmdef-create.js.map +1 -0
  87. package/dist/tools/asmdef-get.d.ts +2 -0
  88. package/dist/tools/asmdef-get.js +31 -0
  89. package/dist/tools/asmdef-get.js.map +1 -0
  90. package/dist/tools/asmdef-list.d.ts +2 -0
  91. package/dist/tools/asmdef-list.js +41 -0
  92. package/dist/tools/asmdef-list.js.map +1 -0
  93. package/dist/tools/asmdef-modify.d.ts +2 -0
  94. package/dist/tools/asmdef-modify.js +108 -0
  95. package/dist/tools/asmdef-modify.js.map +1 -0
  96. package/dist/tools/audio-listener-get.d.ts +2 -0
  97. package/dist/tools/audio-listener-get.js +16 -0
  98. package/dist/tools/audio-listener-get.js.map +1 -0
  99. package/dist/tools/audio-mixer-get-parameter.d.ts +2 -0
  100. package/dist/tools/audio-mixer-get-parameter.js +25 -0
  101. package/dist/tools/audio-mixer-get-parameter.js.map +1 -0
  102. package/dist/tools/audio-mixer-set-parameter.d.ts +2 -0
  103. package/dist/tools/audio-mixer-set-parameter.js +44 -0
  104. package/dist/tools/audio-mixer-set-parameter.js.map +1 -0
  105. package/dist/tools/audio-source-add.d.ts +2 -0
  106. package/dist/tools/audio-source-add.js +94 -0
  107. package/dist/tools/audio-source-add.js.map +1 -0
  108. package/dist/tools/audio-source-modify.d.ts +2 -0
  109. package/dist/tools/audio-source-modify.js +52 -0
  110. package/dist/tools/audio-source-modify.js.map +1 -0
  111. package/dist/tools/bridge-status.js +16 -6
  112. package/dist/tools/bridge-status.js.map +1 -1
  113. package/dist/tools/build-get-active-target.js +1 -2
  114. package/dist/tools/build-get-active-target.js.map +1 -1
  115. package/dist/tools/build-get-defines.js +1 -1
  116. package/dist/tools/build-get-defines.js.map +1 -1
  117. package/dist/tools/build-get-scenes.js +1 -2
  118. package/dist/tools/build-get-scenes.js.map +1 -1
  119. package/dist/tools/build-get-targets.js +1 -1
  120. package/dist/tools/build-get-targets.js.map +1 -1
  121. package/dist/tools/build-set-defines.js +1 -2
  122. package/dist/tools/build-set-defines.js.map +1 -1
  123. package/dist/tools/build-set-scenes.js +1 -1
  124. package/dist/tools/build-set-scenes.js.map +1 -1
  125. package/dist/tools/build-set-target.js +1 -1
  126. package/dist/tools/build-set-target.js.map +1 -1
  127. package/dist/tools/build-start.js +0 -1
  128. package/dist/tools/build-start.js.map +1 -1
  129. package/dist/tools/cinemachine-brain-ensure.d.ts +2 -0
  130. package/dist/tools/cinemachine-brain-ensure.js +27 -0
  131. package/dist/tools/cinemachine-brain-ensure.js.map +1 -0
  132. package/dist/tools/cinemachine-camera-list.d.ts +2 -0
  133. package/dist/tools/cinemachine-camera-list.js +15 -0
  134. package/dist/tools/cinemachine-camera-list.js.map +1 -0
  135. package/dist/tools/cinemachine-create-camera.d.ts +2 -0
  136. package/dist/tools/cinemachine-create-camera.js +55 -0
  137. package/dist/tools/cinemachine-create-camera.js.map +1 -0
  138. package/dist/tools/cinemachine-set-body.d.ts +2 -0
  139. package/dist/tools/cinemachine-set-body.js +33 -0
  140. package/dist/tools/cinemachine-set-body.js.map +1 -0
  141. package/dist/tools/cinemachine-set-lens.d.ts +2 -0
  142. package/dist/tools/cinemachine-set-lens.js +41 -0
  143. package/dist/tools/cinemachine-set-lens.js.map +1 -0
  144. package/dist/tools/cinemachine-set-noise.d.ts +2 -0
  145. package/dist/tools/cinemachine-set-noise.js +31 -0
  146. package/dist/tools/cinemachine-set-noise.js.map +1 -0
  147. package/dist/tools/cinemachine-set-targets.d.ts +2 -0
  148. package/dist/tools/cinemachine-set-targets.js +30 -0
  149. package/dist/tools/cinemachine-set-targets.js.map +1 -0
  150. package/dist/tools/console-log.js +2 -2
  151. package/dist/tools/console-log.js.map +1 -1
  152. package/dist/tools/constraint-add.d.ts +2 -0
  153. package/dist/tools/constraint-add.js +85 -0
  154. package/dist/tools/constraint-add.js.map +1 -0
  155. package/dist/tools/dependencies.d.ts +2 -0
  156. package/dist/tools/dependencies.js +76 -0
  157. package/dist/tools/dependencies.js.map +1 -0
  158. package/dist/tools/editor-add-tag.js +2 -3
  159. package/dist/tools/editor-add-tag.js.map +1 -1
  160. package/dist/tools/editor-clear-history.d.ts +2 -0
  161. package/dist/tools/editor-clear-history.js +25 -0
  162. package/dist/tools/editor-clear-history.js.map +1 -0
  163. package/dist/tools/editor-get-layers.js +3 -3
  164. package/dist/tools/editor-get-layers.js.map +1 -1
  165. package/dist/tools/editor-get-tags.js +2 -2
  166. package/dist/tools/editor-get-tags.js.map +1 -1
  167. package/dist/tools/editor-redo.js +2 -3
  168. package/dist/tools/editor-redo.js.map +1 -1
  169. package/dist/tools/editor-undo-history.d.ts +2 -0
  170. package/dist/tools/editor-undo-history.js +21 -0
  171. package/dist/tools/editor-undo-history.js.map +1 -0
  172. package/dist/tools/editor-undo.js +3 -3
  173. package/dist/tools/editor-undo.js.map +1 -1
  174. package/dist/tools/editorprefs-delete.d.ts +2 -0
  175. package/dist/tools/editorprefs-delete.js +23 -0
  176. package/dist/tools/editorprefs-delete.js.map +1 -0
  177. package/dist/tools/editorprefs-get.d.ts +2 -0
  178. package/dist/tools/editorprefs-get.js +28 -0
  179. package/dist/tools/editorprefs-get.js.map +1 -0
  180. package/dist/tools/editorprefs-set.d.ts +2 -0
  181. package/dist/tools/editorprefs-set.js +33 -0
  182. package/dist/tools/editorprefs-set.js.map +1 -0
  183. package/dist/tools/find-references.js +24 -4
  184. package/dist/tools/find-references.js.map +1 -1
  185. package/dist/tools/frame-debugger.d.ts +2 -0
  186. package/dist/tools/frame-debugger.js +48 -0
  187. package/dist/tools/frame-debugger.js.map +1 -0
  188. package/dist/tools/gameobject-modify.js +69 -2
  189. package/dist/tools/gameobject-modify.js.map +1 -1
  190. package/dist/tools/gate-budget-estimate.js +2 -1
  191. package/dist/tools/gate-budget-estimate.js.map +1 -1
  192. package/dist/tools/hub-available-releases.d.ts +2 -0
  193. package/dist/tools/hub-available-releases.js +23 -0
  194. package/dist/tools/hub-available-releases.js.map +1 -0
  195. package/dist/tools/hub-get-install-path.d.ts +2 -0
  196. package/dist/tools/hub-get-install-path.js +20 -0
  197. package/dist/tools/hub-get-install-path.js.map +1 -0
  198. package/dist/tools/hub-install-editor.d.ts +2 -0
  199. package/dist/tools/hub-install-editor.js +47 -0
  200. package/dist/tools/hub-install-editor.js.map +1 -0
  201. package/dist/tools/hub-install-modules.d.ts +2 -0
  202. package/dist/tools/hub-install-modules.js +44 -0
  203. package/dist/tools/hub-install-modules.js.map +1 -0
  204. package/dist/tools/hub-list-editors.d.ts +2 -0
  205. package/dist/tools/hub-list-editors.js +25 -0
  206. package/dist/tools/hub-list-editors.js.map +1 -0
  207. package/dist/tools/hub-set-install-path.d.ts +2 -0
  208. package/dist/tools/hub-set-install-path.js +30 -0
  209. package/dist/tools/hub-set-install-path.js.map +1 -0
  210. package/dist/tools/impact-preview.js +2 -2
  211. package/dist/tools/impact-preview.js.map +1 -1
  212. package/dist/tools/index.d.ts +14 -0
  213. package/dist/tools/index.js +534 -24
  214. package/dist/tools/index.js.map +1 -1
  215. package/dist/tools/light-add.d.ts +2 -0
  216. package/dist/tools/light-add.js +73 -0
  217. package/dist/tools/light-add.js.map +1 -0
  218. package/dist/tools/light-modify.d.ts +2 -0
  219. package/dist/tools/light-modify.js +36 -0
  220. package/dist/tools/light-modify.js.map +1 -0
  221. package/dist/tools/light-set.d.ts +2 -0
  222. package/dist/tools/light-set.js +54 -0
  223. package/dist/tools/light-set.js.map +1 -0
  224. package/dist/tools/list-assets-of-type.d.ts +2 -0
  225. package/dist/tools/list-assets-of-type.js +54 -0
  226. package/dist/tools/list-assets-of-type.js.map +1 -0
  227. package/dist/tools/lod-add-level.d.ts +2 -0
  228. package/dist/tools/lod-add-level.js +66 -0
  229. package/dist/tools/lod-add-level.js.map +1 -0
  230. package/dist/tools/lod-group-configure.d.ts +2 -0
  231. package/dist/tools/lod-group-configure.js +64 -0
  232. package/dist/tools/lod-group-configure.js.map +1 -0
  233. package/dist/tools/manage-tools.js +7 -5
  234. package/dist/tools/manage-tools.js.map +1 -1
  235. package/dist/tools/memory-snapshot-capture.d.ts +2 -0
  236. package/dist/tools/memory-snapshot-capture.js +61 -0
  237. package/dist/tools/memory-snapshot-capture.js.map +1 -0
  238. package/dist/tools/mutation-explain.js +2 -2
  239. package/dist/tools/mutation-explain.js.map +1 -1
  240. package/dist/tools/playerprefs-delete.d.ts +2 -0
  241. package/dist/tools/playerprefs-delete.js +24 -0
  242. package/dist/tools/playerprefs-delete.js.map +1 -0
  243. package/dist/tools/playerprefs-get.d.ts +2 -0
  244. package/dist/tools/playerprefs-get.js +28 -0
  245. package/dist/tools/playerprefs-get.js.map +1 -0
  246. package/dist/tools/playerprefs-set.d.ts +2 -0
  247. package/dist/tools/playerprefs-set.js +37 -0
  248. package/dist/tools/playerprefs-set.js.map +1 -0
  249. package/dist/tools/profiler-capture-frame.d.ts +2 -0
  250. package/dist/tools/profiler-capture-frame.js +75 -0
  251. package/dist/tools/profiler-capture-frame.js.map +1 -0
  252. package/dist/tools/profiler-clear-data.js +1 -2
  253. package/dist/tools/profiler-clear-data.js.map +1 -1
  254. package/dist/tools/profiler-enable-module.js +4 -5
  255. package/dist/tools/profiler-enable-module.js.map +1 -1
  256. package/dist/tools/profiler-get-status.js +5 -6
  257. package/dist/tools/profiler-get-status.js.map +1 -1
  258. package/dist/tools/profiler-load-data.js +4 -5
  259. package/dist/tools/profiler-load-data.js.map +1 -1
  260. package/dist/tools/profiler-save-data.js +3 -3
  261. package/dist/tools/profiler-save-data.js.map +1 -1
  262. package/dist/tools/profiler-set-config.js +5 -5
  263. package/dist/tools/profiler-set-config.js.map +1 -1
  264. package/dist/tools/profiler-start.js +4 -4
  265. package/dist/tools/profiler-start.js.map +1 -1
  266. package/dist/tools/profiler-stop.js +2 -3
  267. package/dist/tools/profiler-stop.js.map +1 -1
  268. package/dist/tools/read-asset.js +21 -3
  269. package/dist/tools/read-asset.js.map +1 -1
  270. package/dist/tools/reflection-probe-bake.d.ts +2 -0
  271. package/dist/tools/reflection-probe-bake.js +47 -0
  272. package/dist/tools/reflection-probe-bake.js.map +1 -0
  273. package/dist/tools/reflection-probe-get.d.ts +2 -0
  274. package/dist/tools/reflection-probe-get.js +19 -0
  275. package/dist/tools/reflection-probe-get.js.map +1 -0
  276. package/dist/tools/reimport-package.d.ts +2 -0
  277. package/dist/tools/reimport-package.js +53 -0
  278. package/dist/tools/reimport-package.js.map +1 -0
  279. package/dist/tools/scan-paths.js +19 -0
  280. package/dist/tools/scan-paths.js.map +1 -1
  281. package/dist/tools/scene-focus.js +1 -1
  282. package/dist/tools/scene-focus.js.map +1 -1
  283. package/dist/tools/scene-get-data.js +31 -13
  284. package/dist/tools/scene-get-data.js.map +1 -1
  285. package/dist/tools/scene-get-dirty-summary.js +1 -1
  286. package/dist/tools/scene-get-dirty-summary.js.map +1 -1
  287. package/dist/tools/sceneview-get-camera.d.ts +2 -0
  288. package/dist/tools/sceneview-get-camera.js +16 -0
  289. package/dist/tools/sceneview-get-camera.js.map +1 -0
  290. package/dist/tools/sceneview-set-camera.d.ts +2 -0
  291. package/dist/tools/sceneview-set-camera.js +58 -0
  292. package/dist/tools/sceneview-set-camera.js.map +1 -0
  293. package/dist/tools/script-write.js +2 -2
  294. package/dist/tools/script-write.js.map +1 -1
  295. package/dist/tools/scriptableobject-create.d.ts +2 -0
  296. package/dist/tools/scriptableobject-create.js +86 -0
  297. package/dist/tools/scriptableobject-create.js.map +1 -0
  298. package/dist/tools/search-assets.js +20 -3
  299. package/dist/tools/search-assets.js.map +1 -1
  300. package/dist/tools/settings-get-lighting.js +3 -4
  301. package/dist/tools/settings-get-lighting.js.map +1 -1
  302. package/dist/tools/settings-get-player.js +2 -2
  303. package/dist/tools/settings-get-player.js.map +1 -1
  304. package/dist/tools/settings-get-quality.js +1 -2
  305. package/dist/tools/settings-get-quality.js.map +1 -1
  306. package/dist/tools/settings-get-render-pipeline.d.ts +2 -0
  307. package/dist/tools/settings-get-render-pipeline.js +19 -0
  308. package/dist/tools/settings-get-render-pipeline.js.map +1 -0
  309. package/dist/tools/settings-get-time.d.ts +2 -0
  310. package/dist/tools/settings-get-time.js +18 -0
  311. package/dist/tools/settings-get-time.js.map +1 -0
  312. package/dist/tools/settings-set-lighting.js +5 -5
  313. package/dist/tools/settings-set-lighting.js.map +1 -1
  314. package/dist/tools/settings-set-physics.js +2 -2
  315. package/dist/tools/settings-set-physics.js.map +1 -1
  316. package/dist/tools/settings-set-player.js +2 -2
  317. package/dist/tools/settings-set-player.js.map +1 -1
  318. package/dist/tools/settings-set-quality-level.d.ts +2 -0
  319. package/dist/tools/settings-set-quality-level.js +44 -0
  320. package/dist/tools/settings-set-quality-level.js.map +1 -0
  321. package/dist/tools/settings-set-quality.js +2 -2
  322. package/dist/tools/settings-set-quality.js.map +1 -1
  323. package/dist/tools/settings-set-time.d.ts +2 -0
  324. package/dist/tools/settings-set-time.js +53 -0
  325. package/dist/tools/settings-set-time.js.map +1 -0
  326. package/dist/tools/shader-get-data.js +3 -3
  327. package/dist/tools/shader-get-data.js.map +1 -1
  328. package/dist/tools/shader-graph-create.d.ts +2 -0
  329. package/dist/tools/shader-graph-create.js +40 -0
  330. package/dist/tools/shader-graph-create.js.map +1 -0
  331. package/dist/tools/shader-graph-node-add.d.ts +2 -0
  332. package/dist/tools/shader-graph-node-add.js +50 -0
  333. package/dist/tools/shader-graph-node-add.js.map +1 -0
  334. package/dist/tools/shader-graph-node-connect.d.ts +2 -0
  335. package/dist/tools/shader-graph-node-connect.js +60 -0
  336. package/dist/tools/shader-graph-node-connect.js.map +1 -0
  337. package/dist/tools/shader-graph-open.d.ts +2 -0
  338. package/dist/tools/shader-graph-open.js +29 -0
  339. package/dist/tools/shader-graph-open.js.map +1 -0
  340. package/dist/tools/skybox-get.d.ts +2 -0
  341. package/dist/tools/skybox-get.js +13 -0
  342. package/dist/tools/skybox-get.js.map +1 -0
  343. package/dist/tools/skybox-set.d.ts +2 -0
  344. package/dist/tools/skybox-set.js +34 -0
  345. package/dist/tools/skybox-set.js.map +1 -0
  346. package/dist/tools/spriteatlas-add-packable.d.ts +2 -0
  347. package/dist/tools/spriteatlas-add-packable.js +40 -0
  348. package/dist/tools/spriteatlas-add-packable.js.map +1 -0
  349. package/dist/tools/spriteatlas-create.d.ts +2 -0
  350. package/dist/tools/spriteatlas-create.js +41 -0
  351. package/dist/tools/spriteatlas-create.js.map +1 -0
  352. package/dist/tools/spriteatlas-delete.d.ts +2 -0
  353. package/dist/tools/spriteatlas-delete.js +32 -0
  354. package/dist/tools/spriteatlas-delete.js.map +1 -0
  355. package/dist/tools/spriteatlas-get.d.ts +2 -0
  356. package/dist/tools/spriteatlas-get.js +23 -0
  357. package/dist/tools/spriteatlas-get.js.map +1 -0
  358. package/dist/tools/spriteatlas-list.d.ts +2 -0
  359. package/dist/tools/spriteatlas-list.js +21 -0
  360. package/dist/tools/spriteatlas-list.js.map +1 -0
  361. package/dist/tools/spriteatlas-modify.d.ts +2 -0
  362. package/dist/tools/spriteatlas-modify.js +55 -0
  363. package/dist/tools/spriteatlas-modify.js.map +1 -0
  364. package/dist/tools/spriteatlas-remove-packable.d.ts +2 -0
  365. package/dist/tools/spriteatlas-remove-packable.js +39 -0
  366. package/dist/tools/spriteatlas-remove-packable.js.map +1 -0
  367. package/dist/tools/terrain-create.d.ts +2 -0
  368. package/dist/tools/terrain-create.js +73 -0
  369. package/dist/tools/terrain-create.js.map +1 -0
  370. package/dist/tools/terrain-paint-layer.d.ts +2 -0
  371. package/dist/tools/terrain-paint-layer.js +85 -0
  372. package/dist/tools/terrain-paint-layer.js.map +1 -0
  373. package/dist/tools/terrain-place-trees.d.ts +2 -0
  374. package/dist/tools/terrain-place-trees.js +92 -0
  375. package/dist/tools/terrain-place-trees.js.map +1 -0
  376. package/dist/tools/terrain-set-heights.d.ts +2 -0
  377. package/dist/tools/terrain-set-heights.js +68 -0
  378. package/dist/tools/terrain-set-heights.js.map +1 -0
  379. package/dist/tools/terrain-set-neighbors.d.ts +2 -0
  380. package/dist/tools/terrain-set-neighbors.js +65 -0
  381. package/dist/tools/terrain-set-neighbors.js.map +1 -0
  382. package/dist/tools/texture-get-importer.d.ts +2 -0
  383. package/dist/tools/texture-get-importer.js +25 -0
  384. package/dist/tools/texture-get-importer.js.map +1 -0
  385. package/dist/tools/texture-get.d.ts +2 -0
  386. package/dist/tools/texture-get.js +23 -0
  387. package/dist/tools/texture-get.js.map +1 -0
  388. package/dist/tools/texture-reimport.d.ts +2 -0
  389. package/dist/tools/texture-reimport.js +33 -0
  390. package/dist/tools/texture-reimport.js.map +1 -0
  391. package/dist/tools/texture-set-import.d.ts +2 -0
  392. package/dist/tools/texture-set-import.js +52 -0
  393. package/dist/tools/texture-set-import.js.map +1 -0
  394. package/dist/tools/tilemap-box-fill.d.ts +2 -0
  395. package/dist/tools/tilemap-box-fill.js +32 -0
  396. package/dist/tools/tilemap-box-fill.js.map +1 -0
  397. package/dist/tools/tilemap-create-rule-tile.d.ts +2 -0
  398. package/dist/tools/tilemap-create-rule-tile.js +39 -0
  399. package/dist/tools/tilemap-create-rule-tile.js.map +1 -0
  400. package/dist/tools/tilemap-create-tile-asset.d.ts +2 -0
  401. package/dist/tools/tilemap-create-tile-asset.js +35 -0
  402. package/dist/tools/tilemap-create-tile-asset.js.map +1 -0
  403. package/dist/tools/tilemap-create.d.ts +2 -0
  404. package/dist/tools/tilemap-create.js +32 -0
  405. package/dist/tools/tilemap-create.js.map +1 -0
  406. package/dist/tools/tilemap-set-tile.d.ts +2 -0
  407. package/dist/tools/tilemap-set-tile.js +33 -0
  408. package/dist/tools/tilemap-set-tile.js.map +1 -0
  409. package/dist/tools/timeline-clip-add.d.ts +2 -0
  410. package/dist/tools/timeline-clip-add.js +43 -0
  411. package/dist/tools/timeline-clip-add.js.map +1 -0
  412. package/dist/tools/timeline-create.d.ts +2 -0
  413. package/dist/tools/timeline-create.js +32 -0
  414. package/dist/tools/timeline-create.js.map +1 -0
  415. package/dist/tools/timeline-director-bind.d.ts +2 -0
  416. package/dist/tools/timeline-director-bind.js +34 -0
  417. package/dist/tools/timeline-director-bind.js.map +1 -0
  418. package/dist/tools/timeline-modify.d.ts +2 -0
  419. package/dist/tools/timeline-modify.js +44 -0
  420. package/dist/tools/timeline-modify.js.map +1 -0
  421. package/dist/tools/timeline-track-add.d.ts +2 -0
  422. package/dist/tools/timeline-track-add.js +37 -0
  423. package/dist/tools/timeline-track-add.js.map +1 -0
  424. package/dist/tools/ui-canvas-add.d.ts +2 -0
  425. package/dist/tools/ui-canvas-add.js +66 -0
  426. package/dist/tools/ui-canvas-add.js.map +1 -0
  427. package/dist/tools/ui-element-add.d.ts +2 -0
  428. package/dist/tools/ui-element-add.js +65 -0
  429. package/dist/tools/ui-element-add.js.map +1 -0
  430. package/dist/tools/ui-element-modify.d.ts +2 -0
  431. package/dist/tools/ui-element-modify.js +59 -0
  432. package/dist/tools/ui-element-modify.js.map +1 -0
  433. package/dist/tools/ui-layout-group-add.d.ts +2 -0
  434. package/dist/tools/ui-layout-group-add.js +80 -0
  435. package/dist/tools/ui-layout-group-add.js.map +1 -0
  436. package/dist/tools/validate-edit.js +22 -1
  437. package/dist/tools/validate-edit.js.map +1 -1
  438. package/dist/tools/vfx-block-edit.d.ts +2 -0
  439. package/dist/tools/vfx-block-edit.js +51 -0
  440. package/dist/tools/vfx-block-edit.js.map +1 -0
  441. package/dist/tools/vfx-list.d.ts +2 -0
  442. package/dist/tools/vfx-list.js +31 -0
  443. package/dist/tools/vfx-list.js.map +1 -0
  444. package/dist/tools/vfx-open.d.ts +2 -0
  445. package/dist/tools/vfx-open.js +29 -0
  446. package/dist/tools/vfx-open.js.map +1 -0
  447. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  // M16 Plan 5 — typed editor undo. Mutates editor undo state but writes no
2
- // assets — routes as a gate-free direct-response tool. Folds UUMCP editor_undo
3
- // (Undo.PerformUndo). Pair with editor_redo and the undo-recorded typed
4
- // mutators (gameobject_*, component_*, selection_set, ...).
2
+ // assets — routes as a gate-free direct-response tool (Undo.PerformUndo).
3
+ // Pair with editor_redo and the undo-recorded typed mutators (gameobject_*,
4
+ // component_*, selection_set, ...).
5
5
  export const editorUndo = {
6
6
  name: "unity_open_mcp_editor_undo",
7
7
  description: "Perform an editor Undo — reverts the most recent recorded action (one " +
@@ -1 +1 @@
1
- {"version":3,"file":"editor-undo.js","sourceRoot":"","sources":["../../src/tools/editor-undo.ts"],"names":[],"mappings":"AAEA,0EAA0E;AAC1E,+EAA+E;AAC/E,wEAAwE;AACxE,4DAA4D;AAC5D,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,IAAI,EAAE,4BAA4B;IAClC,WAAW,EACT,wEAAwE;QACxE,qEAAqE;QACrE,0EAA0E;QAC1E,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,uDAAuD;IACzD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;gBACV,WAAW,EACT,kEAAkE;oBAClE,wBAAwB;aAC3B;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
1
+ {"version":3,"file":"editor-undo.js","sourceRoot":"","sources":["../../src/tools/editor-undo.ts"],"names":[],"mappings":"AAEA,0EAA0E;AAC1E,0EAA0E;AAC1E,4EAA4E;AAC5E,oCAAoC;AACpC,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,IAAI,EAAE,4BAA4B;IAClC,WAAW,EACT,wEAAwE;QACxE,qEAAqE;QACrE,0EAA0E;QAC1E,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,uDAAuD;IACzD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;gBACV,WAAW,EACT,kEAAkE;oBAClE,wBAAwB;aAC3B;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const editorprefsDelete: Tool;
@@ -0,0 +1,23 @@
1
+ // M20 Plan 9 / T20.9.2 — KV preferences. Mutating: delete a single EditorPrefs
2
+ // key. Direct-response (no project-asset write — gate-free). EditorPrefs writes
3
+ // through immediately.
4
+ export const editorprefsDelete = {
5
+ name: "unity_open_mcp_editorprefs_delete",
6
+ description: "Mutating: delete a single EditorPrefs key. Returns { existed, deleted } so " +
7
+ "the caller knows whether the key was present. Writes to the editor registry " +
8
+ "(NOT a project asset) — a mutating editor-state write that has nothing for " +
9
+ "the asset gate to validate, so no paths_hint is required. EditorPrefs are " +
10
+ "editor-scoped — use playerprefs_delete for project-scoped preferences.",
11
+ inputSchema: {
12
+ type: "object",
13
+ required: ["key"],
14
+ properties: {
15
+ key: {
16
+ type: "string",
17
+ description: "The preference key to delete.",
18
+ },
19
+ },
20
+ additionalProperties: false,
21
+ },
22
+ };
23
+ //# sourceMappingURL=editorprefs-delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editorprefs-delete.js","sourceRoot":"","sources":["../../src/tools/editorprefs-delete.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,gFAAgF;AAChF,uBAAuB;AACvB,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACrC,IAAI,EAAE,mCAAmC;IACzC,WAAW,EACT,6EAA6E;QAC7E,8EAA8E;QAC9E,6EAA6E;QAC7E,4EAA4E;QAC5E,wEAAwE;IAC1E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,KAAK,CAAC;QACjB,UAAU,EAAE;YACV,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+BAA+B;aAC7C;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const editorprefsGet: Tool;
@@ -0,0 +1,28 @@
1
+ // M20 Plan 9 / T20.9.2 — KV preferences. Read-only: get an EditorPrefs value by
2
+ // key. Type (int/float/string) is inferred from the stored value when omitted.
3
+ // Gate-free direct-response read.
4
+ export const editorprefsGet = {
5
+ name: "unity_open_mcp_editorprefs_get",
6
+ description: "Read-only: get an EditorPrefs value by key. Returns { store, key, type, " +
7
+ "value }. When `type` is omitted, the type is inferred from the stored value " +
8
+ "(probes int → float → string). Gate-free. EditorPrefs are editor-scoped " +
9
+ "(shared across projects on the machine) — use playerprefs_get for " +
10
+ "project-scoped player preferences. Mutating counterpart: editorprefs_set.",
11
+ inputSchema: {
12
+ type: "object",
13
+ required: ["key"],
14
+ properties: {
15
+ key: {
16
+ type: "string",
17
+ description: "The preference key to read.",
18
+ },
19
+ type: {
20
+ enum: ["int", "float", "string"],
21
+ description: "Optional type hint. When omitted, the type is inferred (int → float " +
22
+ "→ string). When present, the value is read as that type.",
23
+ },
24
+ },
25
+ additionalProperties: false,
26
+ },
27
+ };
28
+ //# sourceMappingURL=editorprefs-get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editorprefs-get.js","sourceRoot":"","sources":["../../src/tools/editorprefs-get.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,+EAA+E;AAC/E,kCAAkC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAS;IAClC,IAAI,EAAE,gCAAgC;IACtC,WAAW,EACT,0EAA0E;QAC1E,8EAA8E;QAC9E,0EAA0E;QAC1E,oEAAoE;QACpE,2EAA2E;IAC7E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,KAAK,CAAC;QACjB,UAAU,EAAE;YACV,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;aAC3C;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC;gBAChC,WAAW,EACT,sEAAsE;oBACtE,0DAA0D;aAC7D;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const editorprefsSet: Tool;
@@ -0,0 +1,33 @@
1
+ // M20 Plan 9 / T20.9.2 — KV preferences. Mutating: set an EditorPrefs key.
2
+ // Direct-response (writes to the editor registry, not a project asset —
3
+ // gate-free). EditorPrefs writes through immediately (no Save call needed).
4
+ export const editorprefsSet = {
5
+ name: "unity_open_mcp_editorprefs_set",
6
+ description: "Mutating: set an EditorPrefs key to a typed value. EditorPrefs writes " +
7
+ "through immediately (no Save call). Writes to the editor registry (NOT a " +
8
+ "project asset) — like editor_undo it is a mutating editor-state write that " +
9
+ "has nothing for the asset gate to validate, so no paths_hint is required. " +
10
+ "EditorPrefs are editor-scoped (shared across projects on the machine) — " +
11
+ "use playerprefs_set for project-scoped player preferences.",
12
+ inputSchema: {
13
+ type: "object",
14
+ required: ["key", "value", "type"],
15
+ properties: {
16
+ key: {
17
+ type: "string",
18
+ description: "The preference key to write.",
19
+ },
20
+ value: {
21
+ description: "The value. Pass an int for type:int, a float for type:float, or a " +
22
+ "string for type:string.",
23
+ },
24
+ type: {
25
+ enum: ["int", "float", "string"],
26
+ description: "Value type. Determines which EditorPrefs setter (SetInt / SetFloat / " +
27
+ "SetString) is called.",
28
+ },
29
+ },
30
+ additionalProperties: false,
31
+ },
32
+ };
33
+ //# sourceMappingURL=editorprefs-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editorprefs-set.js","sourceRoot":"","sources":["../../src/tools/editorprefs-set.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,wEAAwE;AACxE,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAS;IAClC,IAAI,EAAE,gCAAgC;IACtC,WAAW,EACT,wEAAwE;QACxE,2EAA2E;QAC3E,6EAA6E;QAC7E,4EAA4E;QAC5E,0EAA0E;QAC1E,4DAA4D;IAC9D,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC;QAClC,UAAU,EAAE;YACV,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8BAA8B;aAC5C;YACD,KAAK,EAAE;gBACL,WAAW,EACT,oEAAoE;oBACpE,yBAAyB;aAC5B;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC;gBAChC,WAAW,EACT,uEAAuE;oBACvE,uBAAuB;aAC1B;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -1,23 +1,43 @@
1
1
  export const findReferences = {
2
2
  name: "unity_open_mcp_find_references",
3
3
  description: "Reverse dependency lookup for assets. Returns all assets that reference the given asset path or GUID. " +
4
+ "Default (`profile: 'compact'`) returns counts grouped by kind/folder; raise to balanced/full for the per-asset path list " +
5
+ "(and verbose field locations, offline). Page large result sets with page_size/cursor. " +
4
6
  "Works offline (scanning YAML on disk) when no Editor is running, or via the live bridge when connected.",
5
7
  inputSchema: {
6
8
  type: "object",
7
9
  properties: {
8
10
  asset_path: { type: "string", description: "Asset path (e.g. Assets/Prefabs/Player.prefab)" },
9
11
  guid: { type: "string", pattern: "^[0-9a-fA-F]{32}$", description: "Asset GUID (32 hex chars)" },
12
+ profile: {
13
+ enum: ["compact", "balanced", "full"],
14
+ default: "compact",
15
+ description: "Token-budget output profile (M22). 'compact' (default) = counts + byKind/byFolder groupings only (no per-asset list). " +
16
+ "'balanced' = referencing asset paths grouped by kind/folder. 'full' = also includes which fields reference the target (offline). " +
17
+ "An explicit profile wins over the legacy `detail` param.",
18
+ },
19
+ page_size: {
20
+ type: "integer",
21
+ minimum: 1,
22
+ description: "Page the referencing-assets list (M22 uniform paging; balanced/full). When set, the response carries a `pagination` " +
23
+ "block with a `next_cursor` to resume. Omit to receive up to `max_results` entries in one response.",
24
+ },
25
+ cursor: {
26
+ type: "string",
27
+ description: "Opaque continuation token from a previous response's `pagination.next_cursor`. Page the referencing-assets list.",
28
+ },
10
29
  detail: {
11
30
  enum: ["summary", "normal", "verbose"],
12
31
  default: "normal",
13
- description: "summary: counts only. normal: referencing asset paths grouped by kind/folder. verbose: also includes which fields reference the target.",
32
+ description: "Legacy compression level (alias for `profile`: summary=compact, normal=balanced, verbose=full). " +
33
+ "Prefer `profile`; ignored when `profile` is set.",
14
34
  },
15
- max_results: { type: "integer", default: 100, description: "Maximum number of referencing assets to return" },
16
- max_per_file: { type: "integer", default: 5, description: "Verbose mode: max field locations per file" },
35
+ max_results: { type: "integer", default: 100, description: "Max referencing assets returned when page_size is omitted. Legacy alias of the single-page cap." },
36
+ max_per_file: { type: "integer", default: 5, description: "Verbose/full mode (offline): max field locations per file" },
17
37
  pattern_threshold: {
18
38
  type: "integer",
19
39
  default: 0,
20
- description: "Collapse folders with >= this many referencing files into a single summary entry (0 = disabled)",
40
+ description: "Collapse folders with >= this many referencing files into a single summary entry (0 = disabled). Offline only.",
21
41
  },
22
42
  },
23
43
  oneOf: [
@@ -1 +1 @@
1
- {"version":3,"file":"find-references.js","sourceRoot":"","sources":["../../src/tools/find-references.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAS;IAClC,IAAI,EAAE,gCAAgC;IACtC,WAAW,EACT,wGAAwG;QACxG,yGAAyG;IAC3G,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;YAC7F,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,2BAA2B,EAAE;YAChG,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;gBACtC,OAAO,EAAE,QAAQ;gBACjB,WAAW,EAAE,yIAAyI;aACvJ;YACD,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,gDAAgD,EAAE;YAC7G,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,4CAA4C,EAAE;YACxG,iBAAiB,EAAE;gBACjB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,iGAAiG;aAC/G;SACF;QACD,KAAK,EAAE;YACL,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE;YAC5B,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;SACvB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"find-references.js","sourceRoot":"","sources":["../../src/tools/find-references.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAS;IAClC,IAAI,EAAE,gCAAgC;IACtC,WAAW,EACT,wGAAwG;QACxG,2HAA2H;QAC3H,wFAAwF;QACxF,yGAAyG;IAC3G,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;YAC7F,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,2BAA2B,EAAE;YAChG,OAAO,EAAE;gBACP,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;gBACrC,OAAO,EAAE,SAAS;gBAClB,WAAW,EACT,wHAAwH;oBACxH,mIAAmI;oBACnI,0DAA0D;aAC7D;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC;gBACV,WAAW,EACT,sHAAsH;oBACtH,oGAAoG;aACvG;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,kHAAkH;aACrH;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;gBACtC,OAAO,EAAE,QAAQ;gBACjB,WAAW,EACT,kGAAkG;oBAClG,kDAAkD;aACrD;YACD,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,iGAAiG,EAAE;YAC9J,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,2DAA2D,EAAE;YACvH,iBAAiB,EAAE;gBACjB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,gHAAgH;aAC9H;SACF;QACD,KAAK,EAAE;YACL,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE;YAC5B,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;SACvB;KACF;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const frameDebugger: Tool;
@@ -0,0 +1,48 @@
1
+ // M20 Plan 1 / T20.1.3 — Frame Debugger control + draw-call list.
2
+ //
3
+ // Routes through Unity's internal Frame Debugger API (reflection-wrapped in
4
+ // the bridge) to enable/disable capture and enumerate the draw calls of the
5
+ // currently-debugged frame. Enable/disable is a non-mutating Editor state
6
+ // change, so the tool is gate-free; the response carries `windowOpened` so the
7
+ // agent knows Editor UI may have changed (the Frame Debugger window may have
8
+ // been opened during capture).
9
+ //
10
+ // The draw-call list is capped at max_draw_calls (default 256) with a
11
+ // `truncated` count; per-call entries surface shader / pass / material /
12
+ // render target / vertex/index/instance counts where the Unity build exposes
13
+ // them (some fields are version-specific and simply omitted when absent).
14
+ export const frameDebugger = {
15
+ name: "unity_senses_frame_debugger",
16
+ description: "Control Unity's Frame Debugger and list the draw calls of the " +
17
+ "currently-debugged frame. Use action 'enable' to open the Frame Debugger " +
18
+ "window and start capturing a frame, 'disable' to stop capturing, or 'list' " +
19
+ "to enumerate the draw calls (shader, pass, material, render target, " +
20
+ "vertex/index/instance counts per call). Enable/disable is a non-mutating " +
21
+ "Editor state change — no assets or scenes are touched and the gate is " +
22
+ "always off, but the response reports windowOpened so the agent knows " +
23
+ "Editor UI state may have changed. Requires a live Unity Editor connection.",
24
+ inputSchema: {
25
+ type: "object",
26
+ properties: {
27
+ action: {
28
+ type: "string",
29
+ enum: ["enable", "disable", "list"],
30
+ default: "list",
31
+ description: "'enable' opens the Frame Debugger window and starts capturing; " +
32
+ "'disable' stops capturing; 'list' returns the draw-call list for " +
33
+ "the currently-debugged frame (enable must have been called first).",
34
+ },
35
+ max_draw_calls: {
36
+ type: "integer",
37
+ default: 256,
38
+ minimum: 1,
39
+ maximum: 2000,
40
+ description: "Maximum number of draw calls to return for action 'list'. The " +
41
+ "response reports the full totalDrawCalls count plus a truncated " +
42
+ "flag when the list was capped.",
43
+ },
44
+ },
45
+ additionalProperties: false,
46
+ },
47
+ };
48
+ //# sourceMappingURL=frame-debugger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame-debugger.js","sourceRoot":"","sources":["../../src/tools/frame-debugger.ts"],"names":[],"mappings":"AAEA,kEAAkE;AAClE,EAAE;AACF,4EAA4E;AAC5E,4EAA4E;AAC5E,0EAA0E;AAC1E,+EAA+E;AAC/E,6EAA6E;AAC7E,+BAA+B;AAC/B,EAAE;AACF,sEAAsE;AACtE,yEAAyE;AACzE,6EAA6E;AAC7E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,aAAa,GAAS;IACjC,IAAI,EAAE,6BAA6B;IACnC,WAAW,EACT,gEAAgE;QAChE,2EAA2E;QAC3E,6EAA6E;QAC7E,sEAAsE;QACtE,2EAA2E;QAC3E,wEAAwE;QACxE,uEAAuE;QACvE,4EAA4E;IAC9E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;gBACnC,OAAO,EAAE,MAAM;gBACf,WAAW,EACT,iEAAiE;oBACjE,mEAAmE;oBACnE,oEAAoE;aACvE;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,GAAG;gBACZ,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,IAAI;gBACb,WAAW,EACT,gEAAgE;oBAChE,kEAAkE;oBAClE,gCAAgC;aACnC;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -1,12 +1,28 @@
1
1
  // M16 Plan 2 — typed GameObject modify. Mutating: runs the full gate path.
2
2
  // Covers name / tag / layer / active AND transform (pos/rot/scale).
3
+ //
4
+ // M22 T22.1.4 — three-surface RFC 7396 form (additive, backwards-compatible).
5
+ // In addition to the legacy flat fields, the caller may provide:
6
+ // - gameObjectDiffs : grouped root-target patches (same fields as flat).
7
+ // - pathPatchesPerGameObject : {childPath: diffs} applied to descendants.
8
+ // - jsonPatchesPerGameObject : {componentTypeName: mergePatch} applied to the
9
+ // root target's components via reflection.
10
+ // Apply order: jsonPatches → pathPatches → gameObjectDiffs/flat. When any path
11
+ // or json surface is present, the response carries a `surfaces` breakdown; a
12
+ // legacy (root-only) call keeps the original compact result shape.
3
13
  export const gameobjectModify = {
4
14
  name: "unity_open_mcp_gameobject_modify",
5
15
  description: "Modify one or more GameObject fields in a single call: name, tag, layer, active, and " +
6
16
  "transform (position, rotation, scale). Only provided fields are touched; omitted fields are " +
7
17
  "preserved. Undo-recorded. Mutating: runs the full gate path; `paths_hint` is the scene path " +
8
18
  "that contains the target. Use local_space=true to interpret transform values in the parent's " +
9
- "local space (matches Inspector). Address the target by instance_id > path > name.",
19
+ "local space (matches Inspector). Address the target by instance_id > path > name.\n\n" +
20
+ "Three-surface form (RFC 7396 JSON Merge Patch, additive): beyond the legacy flat fields you " +
21
+ "may pass gameObjectDiffs (root-target patches grouped in one object), " +
22
+ "pathPatchesPerGameObject ({childPath: diffs} applied to descendants of the target), and " +
23
+ "jsonPatchesPerGameObject ({componentTypeName: {field: value}} applied to the target's " +
24
+ "components via reflection, reusing object_modify's value shape). Apply order is " +
25
+ "jsonPatches → pathPatches → gameObjectDiffs/flat.",
10
26
  inputSchema: {
11
27
  type: "object",
12
28
  required: ["paths_hint"],
@@ -26,7 +42,7 @@ export const gameobjectModify = {
26
42
  },
27
43
  name: {
28
44
  type: "string",
29
- description: "New name. Omit to leave unchanged.",
45
+ description: "New name (legacy flat field). Omit to leave unchanged. Prefer gameObjectDiffs for new code.",
30
46
  },
31
47
  tag: {
32
48
  type: "string",
@@ -60,6 +76,57 @@ export const gameobjectModify = {
60
76
  description: "When true, position/rotation are local-space (parent-relative). Default false = world " +
61
77
  "space. Unset fields inherit the same space as the previously-set value so they round-trip cleanly.",
62
78
  },
79
+ gameObjectDiffs: {
80
+ type: "object",
81
+ description: "M22 T22.1.4 surface 1 — root-target patches grouped in one object: " +
82
+ "{name, tag, layer, active, position, rotation, scale, local_space}. Same field shape as " +
83
+ "the legacy flat fields; when present, takes precedence over them. Omit any field to leave it unchanged.",
84
+ properties: {
85
+ name: { type: "string" },
86
+ tag: { type: "string" },
87
+ layer: { type: "integer", minimum: 0, maximum: 31 },
88
+ active: { type: "boolean" },
89
+ position: { type: "string" },
90
+ rotation: { type: "string" },
91
+ scale: { type: "string" },
92
+ local_space: { type: "boolean", default: false },
93
+ },
94
+ additionalProperties: false,
95
+ },
96
+ pathPatchesPerGameObject: {
97
+ type: "object",
98
+ description: "M22 T22.1.4 surface 2 — {childPath: diffs} applied to descendants of the target. Each " +
99
+ "key is a slash-delimited path relative to the target (e.g. \"Body/Arm\"); the value is " +
100
+ "the same diffs shape as gameObjectDiffs. Per-child errors accumulate and do not abort the batch.",
101
+ additionalProperties: {
102
+ type: "object",
103
+ description: "Diffs for the descendant GameObject at this path.",
104
+ properties: {
105
+ name: { type: "string" },
106
+ tag: { type: "string" },
107
+ layer: { type: "integer", minimum: 0, maximum: 31 },
108
+ active: { type: "boolean" },
109
+ position: { type: "string" },
110
+ rotation: { type: "string" },
111
+ scale: { type: "string" },
112
+ local_space: { type: "boolean", default: false },
113
+ },
114
+ additionalProperties: false,
115
+ },
116
+ },
117
+ jsonPatchesPerGameObject: {
118
+ type: "object",
119
+ description: "M22 T22.1.4 surface 3 — {componentTypeName: mergePatch} applied to the root target's " +
120
+ "components via reflection. The key names a component type on the target (class name " +
121
+ "first, e.g. \"Rigidbody\", then full name); the value is a RFC 7396 merge patch " +
122
+ "{field: value} reusing object_modify's value shape (scalars, [x,y,z] vectors, " +
123
+ "{\"path\":...} refs). Per-component/per-field errors accumulate. Apply order: this " +
124
+ "surface runs before pathPatches and the root diff.",
125
+ additionalProperties: {
126
+ type: "object",
127
+ description: "RFC 7396 merge patch of {fieldName: value} for this component.",
128
+ },
129
+ },
63
130
  paths_hint: {
64
131
  type: "array",
65
132
  items: { type: "string" },
@@ -1 +1 @@
1
- {"version":3,"file":"gameobject-modify.js","sourceRoot":"","sources":["../../src/tools/gameobject-modify.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,oEAAoE;AACpE,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,IAAI,EAAE,kCAAkC;IACxC,WAAW,EACT,uFAAuF;QACvF,8FAA8F;QAC9F,8FAA8F;QAC9F,+FAA+F;QAC/F,mFAAmF;IACrF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,YAAY,CAAC;QACxB,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,2DAA2D;aACzE;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uCAAuC;aACrD;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iEAAiE;aAC/E;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oCAAoC;aAClD;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,yGAAyG;aAC5G;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,kDAAkD;aAChE;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,+CAA+C;aAC7D;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qDAAqD;aACnE;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sEAAsE;aACpF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kDAAkD;aAChE;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EACT,wFAAwF;oBACxF,oGAAoG;aACvG;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,2DAA2D;aACzE;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC;gBAChC,OAAO,EAAE,SAAS;aACnB;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
1
+ {"version":3,"file":"gameobject-modify.js","sourceRoot":"","sources":["../../src/tools/gameobject-modify.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,8 @@
13
13
  //
14
14
  // Heuristic only — checkpoint-mode is lighter than full validation, so the
15
15
  // duration estimate is a lower bound. Run validate_edit to measure actuals.
16
- // No Unity-MCP / UCP / UUMCP equivalent; composed from existing foundations.
16
+ // Composed from existing foundations; no equivalent in the broader tool
17
+ // landscape.
17
18
  export const gateBudgetEstimate = {
18
19
  name: "unity_open_mcp_gate_budget_estimate",
19
20
  description: "Forecast validation duration + issue budget for a planned mutation scope before mutating. Returns " +
@@ -1 +1 @@
1
- {"version":3,"file":"gate-budget-estimate.js","sourceRoot":"","sources":["../../src/tools/gate-budget-estimate.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,wEAAwE;AACxE,0EAA0E;AAC1E,8EAA8E;AAC9E,+CAA+C;AAC/C,EAAE;AACF,aAAa;AACb,+EAA+E;AAC/E,4EAA4E;AAC5E,uDAAuD;AACvD,6EAA6E;AAC7E,wDAAwD;AACxD,EAAE;AACF,2EAA2E;AAC3E,4EAA4E;AAC5E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAS;IACtC,IAAI,EAAE,qCAAqC;IAC3C,WAAW,EACT,oGAAoG;QACpG,qGAAqG;QACrG,qGAAqG;QACrG,mGAAmG;QACnG,2FAA2F;IAC7F,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,YAAY,CAAC;QACxB,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,CAAC;gBACX,WAAW,EAAE,wDAAwD;aACtE;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,2EAA2E;aACzF;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,8CAA8C;aAC5D;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,2DAA2D;aACzE;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;gBACzB,OAAO,EAAE,OAAO;gBAChB,WAAW,EACT,8FAA8F;oBAC9F,iFAAiF;aACpF;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
1
+ {"version":3,"file":"gate-budget-estimate.js","sourceRoot":"","sources":["../../src/tools/gate-budget-estimate.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,wEAAwE;AACxE,0EAA0E;AAC1E,8EAA8E;AAC9E,+CAA+C;AAC/C,EAAE;AACF,aAAa;AACb,+EAA+E;AAC/E,4EAA4E;AAC5E,uDAAuD;AACvD,6EAA6E;AAC7E,wDAAwD;AACxD,EAAE;AACF,2EAA2E;AAC3E,4EAA4E;AAC5E,wEAAwE;AACxE,aAAa;AACb,MAAM,CAAC,MAAM,kBAAkB,GAAS;IACtC,IAAI,EAAE,qCAAqC;IAC3C,WAAW,EACT,oGAAoG;QACpG,qGAAqG;QACrG,qGAAqG;QACrG,mGAAmG;QACnG,2FAA2F;IAC7F,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,YAAY,CAAC;QACxB,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,CAAC;gBACX,WAAW,EAAE,wDAAwD;aACtE;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,2EAA2E;aACzF;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,8CAA8C;aAC5D;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,2DAA2D;aACzE;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;gBACzB,OAAO,EAAE,OAAO;gBAChB,WAAW,EACT,8FAA8F;oBAC9F,iFAAiF;aACpF;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const hubAvailableReleases: Tool;
@@ -0,0 +1,23 @@
1
+ // M26 Plan 2 — Unity Hub control: available releases. Local-routed (fetches
2
+ // Unity's public download-archive page and parses its Next.js RSC payload;
3
+ // never hits the Unity bridge or spawns Unity). Falls back to a bundled
4
+ // snapshot (stale=true) on network failure, so the call never hard-errors.
5
+ // Read-only, gate-free.
6
+ export const hubAvailableReleases = {
7
+ name: "unity_open_mcp_hub_available_releases",
8
+ description: "List Unity Editor versions available for download, with their release " +
9
+ "stream (LTS / Supported / TECH / Beta / Alpha), release date, release-" +
10
+ "notes URL, and install changeset (when exposed). Sourced from Unity's " +
11
+ "public download-archive page (unity.com/releases/editor/archive). The " +
12
+ "result carries a `stale` flag — true when the live fetch failed and the " +
13
+ "data is a bundled offline fallback (re-call to retry), false when it is " +
14
+ "fresh. The changeset is required to install some archived versions via " +
15
+ "the unityhub:// deep link; pass it to hub_install_editor when present. " +
16
+ "Read-only, gate-free, no Unity Editor or bridge connection required.",
17
+ inputSchema: {
18
+ type: "object",
19
+ properties: {},
20
+ additionalProperties: false,
21
+ },
22
+ };
23
+ //# sourceMappingURL=hub-available-releases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub-available-releases.js","sourceRoot":"","sources":["../../src/tools/hub-available-releases.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,2EAA2E;AAC3E,wEAAwE;AACxE,2EAA2E;AAC3E,wBAAwB;AACxB,MAAM,CAAC,MAAM,oBAAoB,GAAS;IACxC,IAAI,EAAE,uCAAuC;IAC7C,WAAW,EACT,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,sEAAsE;IACxE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const hubGetInstallPath: Tool;
@@ -0,0 +1,20 @@
1
+ // M26 Plan 2 — Unity Hub control: get install path. Local-routed. Tries the
2
+ // Hub CLI (install-path) first, falling back to filesystem inference from the
3
+ // Hub install roots when the CLI is unavailable. Read-only, gate-free.
4
+ export const hubGetInstallPath = {
5
+ name: "unity_open_mcp_hub_get_install_path",
6
+ description: "Get the default installation directory for Unity Editors managed by " +
7
+ "Unity Hub. Tries the Hub headless CLI (`Unity Hub --headless " +
8
+ "install-path`) first; when the Hub CLI is not found, falls back to " +
9
+ "inferring the path from the OS-default Hub install roots. The response " +
10
+ "carries a `source` field (hub-cli | filesystem | none) so the caller can " +
11
+ "tell how the value was resolved, and a structured `hub_cli_not_found` " +
12
+ "error when neither path is available. Read-only, gate-free, no Unity " +
13
+ "Editor or bridge connection required.",
14
+ inputSchema: {
15
+ type: "object",
16
+ properties: {},
17
+ additionalProperties: false,
18
+ },
19
+ };
20
+ //# sourceMappingURL=hub-get-install-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub-get-install-path.js","sourceRoot":"","sources":["../../src/tools/hub-get-install-path.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,8EAA8E;AAC9E,uEAAuE;AACvE,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACrC,IAAI,EAAE,qCAAqC;IAC3C,WAAW,EACT,sEAAsE;QACtE,+DAA+D;QAC/D,qEAAqE;QACrE,yEAAyE;QACzE,2EAA2E;QAC3E,wEAAwE;QACxE,uEAAuE;QACvE,uCAAuC;IACzC,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const hubInstallEditor: Tool;
@@ -0,0 +1,47 @@
1
+ // M26 Plan 2 — Unity Hub control: install editor. Local-routed (fires the
2
+ // unityhub:// deep link via the OS handler; never hits the Unity bridge).
3
+ //
4
+ // MUTATING — installs software at the system level. This is NOT a project-
5
+ // asset mutation, so paths_hint is N/A and the call is gate-free (the gate
6
+ // validates project-asset-reference fallout, which does not apply). The
7
+ // response still carries the gate-consistent mutation/agentNextSteps envelope
8
+ // shape so agents parse it uniformly. The install itself happens inside Unity
9
+ // Hub (single instance, native progress UI); there is no in-call completion
10
+ // detection — poll hub_list_editors afterwards to confirm.
11
+ export const hubInstallEditor = {
12
+ name: "unity_open_mcp_hub_install_editor",
13
+ description: "Install a specific Unity Editor version by opening Unity Hub at its " +
14
+ "native install dialog via the unityhub:// deep link. The Hub must be " +
15
+ "installed and registered as the system handler for the unityhub:// " +
16
+ "scheme. Optionally pass the build changeset (available from " +
17
+ "hub_available_releases) to pin the exact build for archived versions. " +
18
+ "Mutating: this installs software (a multi-GB editor download) — it is a " +
19
+ "system-level operation, not a project-asset mutation, so paths_hint is " +
20
+ "N/A and the call is gate-free. The install runs inside the Hub with its " +
21
+ "own progress UI; this call returns once the deep link is accepted, NOT " +
22
+ "when the download completes. There is no in-call completion detection " +
23
+ "(the Hub owns the process) — poll hub_list_editors after the Hub " +
24
+ "finishes to confirm the new editor. Cross-platform: uses the OS URL " +
25
+ "handler (open on macOS, xdg-open on Linux, start on Windows).",
26
+ inputSchema: {
27
+ type: "object",
28
+ required: ["version"],
29
+ properties: {
30
+ version: {
31
+ type: "string",
32
+ description: "Unity version to install (e.g. '2022.3.20f1', '6000.3.18f1'). " +
33
+ "Discover available versions + their changesets via " +
34
+ "hub_available_releases.",
35
+ },
36
+ changeset: {
37
+ type: "string",
38
+ description: "Optional build changeset hash (e.g. '88b47c5e7076'). When present, " +
39
+ "the deep link is unityhub://<version>/<changeset>, which pins the " +
40
+ "exact build (required for some archived versions). Omit for a " +
41
+ "changeset-less install (older Hub versions may ignore these).",
42
+ },
43
+ },
44
+ additionalProperties: false,
45
+ },
46
+ };
47
+ //# sourceMappingURL=hub-install-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub-install-editor.js","sourceRoot":"","sources":["../../src/tools/hub-install-editor.ts"],"names":[],"mappings":"AAEA,0EAA0E;AAC1E,0EAA0E;AAC1E,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,wEAAwE;AACxE,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,2DAA2D;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,IAAI,EAAE,mCAAmC;IACzC,WAAW,EACT,sEAAsE;QACtE,uEAAuE;QACvE,qEAAqE;QACrE,8DAA8D;QAC9D,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,mEAAmE;QACnE,sEAAsE;QACtE,+DAA+D;IACjE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,SAAS,CAAC;QACrB,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,gEAAgE;oBAChE,qDAAqD;oBACrD,yBAAyB;aAC5B;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,qEAAqE;oBACrE,oEAAoE;oBACpE,gEAAgE;oBAChE,+DAA+D;aAClE;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const hubInstallModules: Tool;
@@ -0,0 +1,44 @@
1
+ // M26 Plan 2 — Unity Hub control: install modules. Local-routed (fires the
2
+ // unityhub:// deep link; never hits the Unity bridge). Like hub_install_editor
3
+ // this opens the Hub's native install dialog — the Hub does not expose a
4
+ // module-only deep link, so the same version deep link is used and the module
5
+ // selection happens in the Hub UI. MUTATING system-level op, gate-free.
6
+ export const hubInstallModules = {
7
+ name: "unity_open_mcp_hub_install_modules",
8
+ description: "Add platform build modules to an already-installed Unity Editor " +
9
+ "version by opening Unity Hub at its install/module dialog via the " +
10
+ "unityhub:// deep link. The Hub must be installed and registered as the " +
11
+ "unityhub:// handler. Mutating: this installs software (platform module " +
12
+ "downloads) at the system level — paths_hint is N/A and the call is " +
13
+ "gate-free. The module install runs inside the Hub; this call returns " +
14
+ "once the deep link is accepted, not when the download completes. Poll " +
15
+ "hub_list_editors (which scans Data/PlaybackEngines) afterwards to " +
16
+ "confirm the new modules. Note: the unityhub:// scheme does not expose a " +
17
+ "module-specific deep link, so the Hub opens at the version's install " +
18
+ "dialog where the operator selects the modules — the modules argument is " +
19
+ "informational and surfaced in the response for the operator to act on.",
20
+ inputSchema: {
21
+ type: "object",
22
+ required: ["version"],
23
+ properties: {
24
+ version: {
25
+ type: "string",
26
+ description: "Target already-installed Unity version (e.g. '6000.3.18f1').",
27
+ },
28
+ modules: {
29
+ type: "array",
30
+ items: { type: "string" },
31
+ description: "Modules to add (informational — surfaced in the response for the " +
32
+ "operator to select in the Hub dialog): android, ios, webgl, " +
33
+ "linux-il2cpp, mac-il2cpp, windows-il2cpp, etc.",
34
+ },
35
+ changeset: {
36
+ type: "string",
37
+ description: "Optional build changeset (from hub_available_releases) to pin the " +
38
+ "exact build. Forwarded as the deep-link changeset segment.",
39
+ },
40
+ },
41
+ additionalProperties: false,
42
+ },
43
+ };
44
+ //# sourceMappingURL=hub-install-modules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub-install-modules.js","sourceRoot":"","sources":["../../src/tools/hub-install-modules.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,+EAA+E;AAC/E,yEAAyE;AACzE,8EAA8E;AAC9E,wEAAwE;AACxE,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACrC,IAAI,EAAE,oCAAoC;IAC1C,WAAW,EACT,kEAAkE;QAClE,oEAAoE;QACpE,yEAAyE;QACzE,yEAAyE;QACzE,qEAAqE;QACrE,uEAAuE;QACvE,wEAAwE;QACxE,oEAAoE;QACpE,0EAA0E;QAC1E,uEAAuE;QACvE,0EAA0E;QAC1E,wEAAwE;IAC1E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,SAAS,CAAC;QACrB,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8DAA8D;aAC5E;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EACT,mEAAmE;oBACnE,8DAA8D;oBAC9D,gDAAgD;aACnD;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,oEAAoE;oBACpE,4DAA4D;aAC/D;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const hubListEditors: Tool;
@@ -0,0 +1,25 @@
1
+ // M26 Plan 2 — Unity Hub control: list installed editors. Local-routed (the
2
+ // MCP server scans the Hub install roots itself; never hits the Unity bridge
3
+ // or spawns Unity). Reuses the same discovery approach as the Hub launcher
4
+ // (scannedHubRoots + Data/PlaybackEngines scan) implemented standalone in TS.
5
+ // Read-only, gate-free, no project-asset mutation (paths_hint is N/A).
6
+ export const hubListEditors = {
7
+ name: "unity_open_mcp_hub_list_editors",
8
+ description: "List all Unity Editor versions installed via Unity Hub on this machine, " +
9
+ "including each install's executable path, the build-target platforms it " +
10
+ "has modules for (scanned from Data/PlaybackEngines), and the release " +
11
+ "stream inferred from the version suffix (LTS / TECH / Beta / Alpha). " +
12
+ "Resolved by scanning the OS-default Unity Hub install roots " +
13
+ "(+ UNITY_HUB env override) — no running Unity Editor or bridge " +
14
+ "connection required. Read-only, gate-free. Cross-platform: the scan " +
15
+ "roots are /Applications/Unity/Hub/Editor (macOS), " +
16
+ "C:\\Program Files\\Unity\\Hub\\Editor (Windows), ~/Unity/Hub/Editor " +
17
+ "(Linux). Use this before hub_install_editor to check what is already " +
18
+ "available, and after an install (refresh) to confirm the new editor.",
19
+ inputSchema: {
20
+ type: "object",
21
+ properties: {},
22
+ additionalProperties: false,
23
+ },
24
+ };
25
+ //# sourceMappingURL=hub-list-editors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub-list-editors.js","sourceRoot":"","sources":["../../src/tools/hub-list-editors.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAS;IAClC,IAAI,EAAE,iCAAiC;IACvC,WAAW,EACT,0EAA0E;QAC1E,0EAA0E;QAC1E,uEAAuE;QACvE,uEAAuE;QACvE,8DAA8D;QAC9D,iEAAiE;QACjE,sEAAsE;QACtE,oDAAoD;QACpD,sEAAsE;QACtE,uEAAuE;QACvE,sEAAsE;IACxE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const hubSetInstallPath: Tool;