@aefree/pi-unity 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,173 +1,184 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
- and this project follows semantic versioning for public package releases.
7
-
8
- ## [0.9.0] - 2026-08-04
9
-
10
- ### Added
11
-
12
- - Added `unity_pipeline_recompile` and `unity_pipeline_run_tests` for exact-copy connected compilation and focused tests with lifecycle guards, bounded polling, identity checks, and compact terminal evidence.
13
- - Added `unity_pipeline_eval` for bounded project-specific C# evaluation and `unity_pipeline_inspect` for package-owned structured Pipeline inspections.
14
- - Added the `unity-interactive-playmode-authoring` skill for temporary live runtime tuning followed by deliberate persistence of accepted values.
15
- - Added the `unity-debugging` skill for evidence-first diagnosis of Unity Editor, runtime, package, asset, lifecycle, callback, and feature-activation problems.
16
- - Added an optional schema-open Unity artifact profile for solution and memory Markdown with optional `engine`, `unity_version`, `unity_packages`, `render_pipeline`, and `platforms` metadata.
17
- - Added an optional Unity file-discovery filter that recommends excluding generated directories for broad roots while preserving explicit searches inside generated roots.
18
-
19
- ### Changed
20
-
21
- - Replaced `unity-connected-workflows` with `unity-pipeline-workflows`, routing connected operations through typed tools and documenting safe PlayMode lifecycle, cancellation, timeout, test-evidence, and Game View focus behavior.
22
- - Tightened Unity test evidence so zero-test, unknown-total, malformed, missing-result, and failing runs are never reported as passing.
23
- - Made project-artifacts and file-discovery composition optional through their public capability contracts and global registry rendezvous, allowing independently installed Pi packages to compose without sibling paths or shared module roots.
24
- - Updated optional integration metadata to use `@aefree/pi-project-artifacts` and `@aefree/pi-file-discovery` as optional peers, while classifying the statically imported `typebox` as a runtime dependency.
25
- - Updated package validation to Node.js 22.19 or later with a registry-clean lockfile, local `tsx`, reproducible `npm ci` workflows, and a consumer-focused npm archive.
26
-
27
- ### Removed
28
-
29
- - Removed the `capturing-screenshots-unity` skill and its bundled capture assets; graphics-required launches remain available through the explicit `useGraphics` controls.
30
- - Retired the workflow-guidance contributor and intermediate migration/capture surfaces; reusable procedures now remain in their owning skills, and optional integrations contribute metadata without selecting schemas or rewriting project documents.
31
-
32
- ### Fixed
33
-
34
- - Made multi-integration registration transactional so failures roll back every earlier registration for that session scope.
35
- - Fixed clean-install tests to exercise optional integrations through installed package contracts rather than sibling repository source paths.
36
- - Fixed macOS guidance-audit path handling, cross-platform line-ending assertions, and cancellation propagation through connected capability and process operations.
37
-
38
- ## [0.8.2] - 2026-07-24
39
-
40
- ### Changed
41
-
42
- - Marked Pi-bundled core dependencies as optional peers so Pi git installs do not create redundant per-package `node_modules` directories.
43
-
44
- ## [0.8.1] - 2026-07-23
45
-
46
- ### Changed
47
-
48
- - Clarified test routing across tool prompts, README guidance, and the batchmode skill: an already-open exact project copy with reachable `run_tests`/`test_status` Pipeline commands should run connected tests without closing the Editor; batchmode is reserved for deliberately isolated/report-producing cases.
49
- - Documented that an asynchronous connected `run_tests` initiation may report zero tests while still running and that zero-test validation belongs to terminal `test_status` results.
50
- - Strengthened Unity guidance migration scope handling so nested-workspace audits include inherited instructions by default or explicitly disclose excluded ancestor candidates, while keeping ancestor edits authorization-gated.
51
- - Added a behavioral regression case for auditing inherited coordination-root guidance without editing it.
52
-
53
- ### Fixed
54
-
55
- - Instruct migration agents to preserve clear known-safe prohibitions and report likely heuristic defects instead of weakening wording merely to obtain a zero-finding audit.
56
- - Recognize prohibitions placed between `-runTests` and `-quit`, such as “`-runTests` commands must not include `-quit`,” instead of reporting them as unsafe commands.
57
-
58
- ## [0.8.0] - 2026-07-23
59
-
60
- ### Added
61
-
62
- - Added Unity CLI and Pipeline capability reporting to `unity_project_status`, including exact-project-copy instance matching, locally declared package versions, and live advertised command discovery.
63
- - Added the read-only `unity_guidance_audit` tool plus an `auditing-unity-agent-guidance` skill, migration policy, detection catalog, and mixed-harness template for modernizing AGENTS.md, CLAUDE.md, Copilot, and Cursor Unity workflows.
64
- - Added `unity-connected-workflows` guidance for exact-copy Pipeline recompilation and focused asynchronous tests, including nested JSON, domain reload, zero-test, and artifact limitations.
65
- - Added an isolated behavioral eval for `auditing-unity-agent-guidance` with 12 real-problem-derived positive/negative prompts, deterministic outcome checks, skill-versus-baseline runs, repeat trials, and efficiency evidence. Eval fixtures and reports stay in OS-temporary directories by default, with defense-in-depth ignores for explicitly persisted reports.
66
- - Documented the observed Pipeline startup side effect that persists `Application.runInBackground = true` into `ProjectSettings/ProjectSettings.asset`.
67
-
68
- ### Changed
69
-
70
- - Reframed `unity-batchmode-tests` as the isolated/report-producing route instead of the default for an already-open reachable Pipeline Editor, and prefer the standalone `unity test` command over forwarding `-runTests` through `unity run`.
71
- - Expanded guidance auditing to detect unconditional lockfile deletion, arbitrary PID termination, manifest-only Pipeline reachability assumptions, and unbounded command/test discovery.
72
-
73
- ### Fixed
74
-
75
- - Parse the current Unity CLI's nested `pipelineServer.isReachable` and `pipelineServer.apiUrl` fields so unreachable instances do not trigger command discovery.
76
- - Updated guarded graceful Editor exit to use the current `unity command eval` surface and attempt it only when the exact running project advertises `eval` and the discovered Editor/Pipeline process identity remains unchanged immediately before dispatch. Shutdown now waits for the configured graceful timeout and accepts a nonzero CLI response only when process verification confirms the Editor exited, since the Pipeline server can disconnect before returning a valid response.
77
- - Propagated cancellation through capability probes and multi-process termination so cancellation prevents later lifecycle actions.
78
-
79
- ## [0.7.1] - 2026-07-10
80
-
81
- ### Changed
82
-
83
- - Migrated Pi extension imports and peer dependencies to the `@earendil-works` package scope.
84
-
85
- ### Fixed
86
-
87
- - Recognize Windows-style absolute Unity project paths with Windows path semantics when status output is validated on another operating system.
88
-
89
- ## [0.7.0] - 2026-07-09
90
-
91
- ### Added
92
-
93
- - Added `unity_run_test_batch` for one-platform Unity Test Framework batches with normalized filter/category arrays, collision-safe absolute XML/log paths under project `Logs`, and the existing guarded Unity launcher on Windows and macOS.
94
- - Added Windows CI alongside the existing macOS package validation workflow.
95
-
96
- ### Changed
97
-
98
- - Added Unity validation scope and stop guidance so explicit PlayMode skips are honored, compile/EditMode and optional PlayMode evidence are distinguished, and unchanged infrastructure failures are inspected once using exact current-run artifact paths rather than retried in launch loops.
99
- - Refactored generic batchmode and test-batch execution through one project-mutex, process-authorization, lockfile, launcher, and artifact-reporting path; cancellation now stops before forced-close fallback, while any completed closure is journaled into subsequent errors.
100
-
101
- ### Fixed
102
-
103
- - Prevent Unity Test Framework runs with zero executed tests or requested but missing/unparseable result XML from being labeled passed, and make artifact inspection fail clearly when no requested evidence is available.
104
- - Keep raw Unity XML/log/stdout/stderr evidence on disk instead of duplicating unbounded content into session details; retain paths, byte counts, parsed results, and bounded excerpts.
105
- - Signal failed Unity batches and failed artifact inspections through thrown tool errors instead of unsupported `isError` return fields.
106
-
107
- ## [0.6.0] - 2026-07-09
108
-
109
- ### Changed
110
-
111
- - Hardened same-project Unity process matching to parse only exact `-projectPath` arguments, use platform-correct path identity, and avoid treating unrelated Unity CLI status fields as project paths.
112
- - Revalidate the Unity executable, project argument, PID, and command line immediately before guarded OS-level termination so recycled PIDs are skipped.
113
- - Added macOS CI coverage for tests and package validation.
114
- - Updated `unity_launch_batchmode` to add `-nographics` by default, with an explicit `useGraphics` opt-in for screenshots, visual capture, render checks, or graphics-dependent PlayMode tests.
115
- - Updated Unity batchmode skill and README guidance to steer agents toward no-graphics validation unless the requested work requires graphics.
116
-
117
- ## [0.5.0] - 2026-06-28
118
-
119
- ### Added
120
-
121
- - Added `piUnity.allowCloseRunningUnityProcess` settings support so `unity_launch_batchmode` can close same-project blocking Unity processes only when explicitly enabled and requested with `closeBlockingUnityProcess`.
122
- - Added `piUnity.closeRunningUnityProcessOnlyForTests` and `piUnity.closeRunningUnityProcessTimeoutMs` safeguards for constrained Unity process closure.
123
-
124
- ### Changed
125
-
126
- - Updated guarded process closing to request graceful Editor exit through `unity eval 'UnityEditor.EditorApplication.Exit(0);'` before falling back to OS-level process termination.
127
- - Updated guarded process closing to clean up the exact resolved project's stale `Temp/UnityLockfile` only when pi-unity closed the matching Unity process in the same batchmode call and verifies no matching process remains.
128
- - Updated Windows process termination to retry `taskkill` with `/F` only when Windows reports that force is required.
129
- - Updated `unity_project_status`, README, and batchmode skill guidance to surface the new guarded process-closing settings.
130
- - Updated the interactive Unity project picker so up/down navigation wraps between the first and last workspace options.
131
-
132
- ## [0.4.0] - 2026-06-27
133
-
134
- ### Added
135
-
136
- - Added `unity_inspect_artifacts` to summarize existing Unity Test Framework XML results and Unity logs without launching Unity.
137
-
138
- ### Changed
139
-
140
- - Updated Unity batchmode skill guidance to prefer `unity_inspect_artifacts` over ad hoc shell parsing after Unity failures.
141
-
142
- ## [0.3.0] - 2026-06-27
143
-
144
- ### Added
145
-
146
- - Added `unity_project_status` to inspect Unity native lockfile state, Unity CLI status, and running project processes without launching Unity.
147
-
148
- ### Changed
149
-
150
- - In Unity CLI launcher mode, `unity_launch_batchmode` now delegates stale native `Temp/UnityLockfile` handling to `unity run` after verifying no running project process is active, while keeping direct Editor executable launches blocked by native lockfiles.
151
- - Tightened screenshot skill guidance so agents load it only when screenshot evidence is requested or required by project/review workflow.
152
-
153
- ## [0.2.0] - 2026-06-16
154
-
155
- ### Added
156
-
157
- - Added Unity CLI integration so `unity_open_editor` prefers `unity open` and `unity_launch_batchmode` prefers `unity run` when the installed `unity` command is available.
158
- - Added Unity CLI status parsing for safer same-project busy checks before launching GUI or batchmode Unity.
159
- - Added `UNITY_CLI_PATH` support for overriding the Unity CLI executable.
160
- - Added `launcher` selection (`auto`, `unity-cli`, `editor-executable`) so workflows can bypass Unity CLI when forwarded arguments differ from direct Editor executable behavior.
161
- - Added Unity CLI argument normalization that strips direct-Editor flags managed by `unity run` (`-batchmode`, `-projectPath`, `-quit`) before forwarding user args.
162
- - Added unit coverage for Unity CLI command construction, forwarded-argument normalization, and status parsing.
163
-
164
- ### Changed
165
-
166
- - Kept direct Unity Editor executable launch as a fallback when Unity CLI is unavailable or cannot resolve the environment.
167
- - Updated Unity batchmode skill and README guidance to document the Unity CLI preferred path and fallback behavior.
168
-
169
- ## [0.1.0] - 2026-04-27
170
-
171
- ### Added
172
-
173
- - Initial Pi Unity package with Unity Editor GUI launch, batchmode execution, Unity Test Framework summary parsing, project discovery, single-project process safeguards, and screenshot workflow guidance.
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project follows semantic versioning for public package releases.
7
+
8
+ ## [0.9.1] - 2026-08-05
9
+
10
+ ### Added
11
+
12
+ - Added a manual-dispatch GitHub Actions workflow for npm OIDC trusted publishing with exact version/commit reconciliation and provenance.
13
+
14
+ ### Fixed
15
+
16
+ - Canonicalized Pipeline registration test fixture paths so Windows validation uses the same exact project identity as the runtime.
17
+ - Made npm release preflight distinguish an unpublished version's nonzero registry response from published version metadata before reconciling `gitHead`.
18
+
19
+ ## [0.9.0] - 2026-08-04
20
+
21
+ ### Added
22
+
23
+ - Added `unity_pipeline_recompile` and `unity_pipeline_run_tests` for exact-copy connected compilation and focused tests with lifecycle guards, bounded polling, identity checks, and compact terminal evidence.
24
+ - Added `unity_pipeline_eval` for bounded project-specific C# evaluation and `unity_pipeline_inspect` for package-owned structured Pipeline inspections.
25
+ - Added the `unity-interactive-playmode-authoring` skill for temporary live runtime tuning followed by deliberate persistence of accepted values.
26
+ - Added the `unity-debugging` skill for evidence-first diagnosis of Unity Editor, runtime, package, asset, lifecycle, callback, and feature-activation problems.
27
+ - Added an optional schema-open Unity artifact profile for solution and memory Markdown with optional `engine`, `unity_version`, `unity_packages`, `render_pipeline`, and `platforms` metadata.
28
+ - Added an optional Unity file-discovery filter that recommends excluding generated directories for broad roots while preserving explicit searches inside generated roots.
29
+
30
+ ### Changed
31
+
32
+ - Replaced `unity-connected-workflows` with `unity-pipeline-workflows`, routing connected operations through typed tools and documenting safe PlayMode lifecycle, cancellation, timeout, test-evidence, and Game View focus behavior.
33
+ - Tightened Unity test evidence so zero-test, unknown-total, malformed, missing-result, and failing runs are never reported as passing.
34
+ - Made project-artifacts and file-discovery composition optional through their public capability contracts and global registry rendezvous, allowing independently installed Pi packages to compose without sibling paths or shared module roots.
35
+ - Updated optional integration metadata to use `@aefree/pi-project-artifacts` and `@aefree/pi-file-discovery` as optional peers, while classifying the statically imported `typebox` as a runtime dependency.
36
+ - Updated package validation to Node.js 22.19 or later with a registry-clean lockfile, local `tsx`, reproducible `npm ci` workflows, and a consumer-focused npm archive.
37
+
38
+ ### Removed
39
+
40
+ - Removed the `capturing-screenshots-unity` skill and its bundled capture assets; graphics-required launches remain available through the explicit `useGraphics` controls.
41
+ - Retired the workflow-guidance contributor and intermediate migration/capture surfaces; reusable procedures now remain in their owning skills, and optional integrations contribute metadata without selecting schemas or rewriting project documents.
42
+
43
+ ### Fixed
44
+
45
+ - Made multi-integration registration transactional so failures roll back every earlier registration for that session scope.
46
+ - Fixed clean-install tests to exercise optional integrations through installed package contracts rather than sibling repository source paths.
47
+ - Fixed macOS guidance-audit path handling, cross-platform line-ending assertions, and cancellation propagation through connected capability and process operations.
48
+
49
+ ## [0.8.2] - 2026-07-24
50
+
51
+ ### Changed
52
+
53
+ - Marked Pi-bundled core dependencies as optional peers so Pi git installs do not create redundant per-package `node_modules` directories.
54
+
55
+ ## [0.8.1] - 2026-07-23
56
+
57
+ ### Changed
58
+
59
+ - Clarified test routing across tool prompts, README guidance, and the batchmode skill: an already-open exact project copy with reachable `run_tests`/`test_status` Pipeline commands should run connected tests without closing the Editor; batchmode is reserved for deliberately isolated/report-producing cases.
60
+ - Documented that an asynchronous connected `run_tests` initiation may report zero tests while still running and that zero-test validation belongs to terminal `test_status` results.
61
+ - Strengthened Unity guidance migration scope handling so nested-workspace audits include inherited instructions by default or explicitly disclose excluded ancestor candidates, while keeping ancestor edits authorization-gated.
62
+ - Added a behavioral regression case for auditing inherited coordination-root guidance without editing it.
63
+
64
+ ### Fixed
65
+
66
+ - Instruct migration agents to preserve clear known-safe prohibitions and report likely heuristic defects instead of weakening wording merely to obtain a zero-finding audit.
67
+ - Recognize prohibitions placed between `-runTests` and `-quit`, such as “`-runTests` commands must not include `-quit`,” instead of reporting them as unsafe commands.
68
+
69
+ ## [0.8.0] - 2026-07-23
70
+
71
+ ### Added
72
+
73
+ - Added Unity CLI and Pipeline capability reporting to `unity_project_status`, including exact-project-copy instance matching, locally declared package versions, and live advertised command discovery.
74
+ - Added the read-only `unity_guidance_audit` tool plus an `auditing-unity-agent-guidance` skill, migration policy, detection catalog, and mixed-harness template for modernizing AGENTS.md, CLAUDE.md, Copilot, and Cursor Unity workflows.
75
+ - Added `unity-connected-workflows` guidance for exact-copy Pipeline recompilation and focused asynchronous tests, including nested JSON, domain reload, zero-test, and artifact limitations.
76
+ - Added an isolated behavioral eval for `auditing-unity-agent-guidance` with 12 real-problem-derived positive/negative prompts, deterministic outcome checks, skill-versus-baseline runs, repeat trials, and efficiency evidence. Eval fixtures and reports stay in OS-temporary directories by default, with defense-in-depth ignores for explicitly persisted reports.
77
+ - Documented the observed Pipeline startup side effect that persists `Application.runInBackground = true` into `ProjectSettings/ProjectSettings.asset`.
78
+
79
+ ### Changed
80
+
81
+ - Reframed `unity-batchmode-tests` as the isolated/report-producing route instead of the default for an already-open reachable Pipeline Editor, and prefer the standalone `unity test` command over forwarding `-runTests` through `unity run`.
82
+ - Expanded guidance auditing to detect unconditional lockfile deletion, arbitrary PID termination, manifest-only Pipeline reachability assumptions, and unbounded command/test discovery.
83
+
84
+ ### Fixed
85
+
86
+ - Parse the current Unity CLI's nested `pipelineServer.isReachable` and `pipelineServer.apiUrl` fields so unreachable instances do not trigger command discovery.
87
+ - Updated guarded graceful Editor exit to use the current `unity command eval` surface and attempt it only when the exact running project advertises `eval` and the discovered Editor/Pipeline process identity remains unchanged immediately before dispatch. Shutdown now waits for the configured graceful timeout and accepts a nonzero CLI response only when process verification confirms the Editor exited, since the Pipeline server can disconnect before returning a valid response.
88
+ - Propagated cancellation through capability probes and multi-process termination so cancellation prevents later lifecycle actions.
89
+
90
+ ## [0.7.1] - 2026-07-10
91
+
92
+ ### Changed
93
+
94
+ - Migrated Pi extension imports and peer dependencies to the `@earendil-works` package scope.
95
+
96
+ ### Fixed
97
+
98
+ - Recognize Windows-style absolute Unity project paths with Windows path semantics when status output is validated on another operating system.
99
+
100
+ ## [0.7.0] - 2026-07-09
101
+
102
+ ### Added
103
+
104
+ - Added `unity_run_test_batch` for one-platform Unity Test Framework batches with normalized filter/category arrays, collision-safe absolute XML/log paths under project `Logs`, and the existing guarded Unity launcher on Windows and macOS.
105
+ - Added Windows CI alongside the existing macOS package validation workflow.
106
+
107
+ ### Changed
108
+
109
+ - Added Unity validation scope and stop guidance so explicit PlayMode skips are honored, compile/EditMode and optional PlayMode evidence are distinguished, and unchanged infrastructure failures are inspected once using exact current-run artifact paths rather than retried in launch loops.
110
+ - Refactored generic batchmode and test-batch execution through one project-mutex, process-authorization, lockfile, launcher, and artifact-reporting path; cancellation now stops before forced-close fallback, while any completed closure is journaled into subsequent errors.
111
+
112
+ ### Fixed
113
+
114
+ - Prevent Unity Test Framework runs with zero executed tests or requested but missing/unparseable result XML from being labeled passed, and make artifact inspection fail clearly when no requested evidence is available.
115
+ - Keep raw Unity XML/log/stdout/stderr evidence on disk instead of duplicating unbounded content into session details; retain paths, byte counts, parsed results, and bounded excerpts.
116
+ - Signal failed Unity batches and failed artifact inspections through thrown tool errors instead of unsupported `isError` return fields.
117
+
118
+ ## [0.6.0] - 2026-07-09
119
+
120
+ ### Changed
121
+
122
+ - Hardened same-project Unity process matching to parse only exact `-projectPath` arguments, use platform-correct path identity, and avoid treating unrelated Unity CLI status fields as project paths.
123
+ - Revalidate the Unity executable, project argument, PID, and command line immediately before guarded OS-level termination so recycled PIDs are skipped.
124
+ - Added macOS CI coverage for tests and package validation.
125
+ - Updated `unity_launch_batchmode` to add `-nographics` by default, with an explicit `useGraphics` opt-in for screenshots, visual capture, render checks, or graphics-dependent PlayMode tests.
126
+ - Updated Unity batchmode skill and README guidance to steer agents toward no-graphics validation unless the requested work requires graphics.
127
+
128
+ ## [0.5.0] - 2026-06-28
129
+
130
+ ### Added
131
+
132
+ - Added `piUnity.allowCloseRunningUnityProcess` settings support so `unity_launch_batchmode` can close same-project blocking Unity processes only when explicitly enabled and requested with `closeBlockingUnityProcess`.
133
+ - Added `piUnity.closeRunningUnityProcessOnlyForTests` and `piUnity.closeRunningUnityProcessTimeoutMs` safeguards for constrained Unity process closure.
134
+
135
+ ### Changed
136
+
137
+ - Updated guarded process closing to request graceful Editor exit through `unity eval 'UnityEditor.EditorApplication.Exit(0);'` before falling back to OS-level process termination.
138
+ - Updated guarded process closing to clean up the exact resolved project's stale `Temp/UnityLockfile` only when pi-unity closed the matching Unity process in the same batchmode call and verifies no matching process remains.
139
+ - Updated Windows process termination to retry `taskkill` with `/F` only when Windows reports that force is required.
140
+ - Updated `unity_project_status`, README, and batchmode skill guidance to surface the new guarded process-closing settings.
141
+ - Updated the interactive Unity project picker so up/down navigation wraps between the first and last workspace options.
142
+
143
+ ## [0.4.0] - 2026-06-27
144
+
145
+ ### Added
146
+
147
+ - Added `unity_inspect_artifacts` to summarize existing Unity Test Framework XML results and Unity logs without launching Unity.
148
+
149
+ ### Changed
150
+
151
+ - Updated Unity batchmode skill guidance to prefer `unity_inspect_artifacts` over ad hoc shell parsing after Unity failures.
152
+
153
+ ## [0.3.0] - 2026-06-27
154
+
155
+ ### Added
156
+
157
+ - Added `unity_project_status` to inspect Unity native lockfile state, Unity CLI status, and running project processes without launching Unity.
158
+
159
+ ### Changed
160
+
161
+ - In Unity CLI launcher mode, `unity_launch_batchmode` now delegates stale native `Temp/UnityLockfile` handling to `unity run` after verifying no running project process is active, while keeping direct Editor executable launches blocked by native lockfiles.
162
+ - Tightened screenshot skill guidance so agents load it only when screenshot evidence is requested or required by project/review workflow.
163
+
164
+ ## [0.2.0] - 2026-06-16
165
+
166
+ ### Added
167
+
168
+ - Added Unity CLI integration so `unity_open_editor` prefers `unity open` and `unity_launch_batchmode` prefers `unity run` when the installed `unity` command is available.
169
+ - Added Unity CLI status parsing for safer same-project busy checks before launching GUI or batchmode Unity.
170
+ - Added `UNITY_CLI_PATH` support for overriding the Unity CLI executable.
171
+ - Added `launcher` selection (`auto`, `unity-cli`, `editor-executable`) so workflows can bypass Unity CLI when forwarded arguments differ from direct Editor executable behavior.
172
+ - Added Unity CLI argument normalization that strips direct-Editor flags managed by `unity run` (`-batchmode`, `-projectPath`, `-quit`) before forwarding user args.
173
+ - Added unit coverage for Unity CLI command construction, forwarded-argument normalization, and status parsing.
174
+
175
+ ### Changed
176
+
177
+ - Kept direct Unity Editor executable launch as a fallback when Unity CLI is unavailable or cannot resolve the environment.
178
+ - Updated Unity batchmode skill and README guidance to document the Unity CLI preferred path and fallback behavior.
179
+
180
+ ## [0.1.0] - 2026-04-27
181
+
182
+ ### Added
183
+
184
+ - Initial Pi Unity package with Unity Editor GUI launch, batchmode execution, Unity Test Framework summary parsing, project discovery, single-project process safeguards, and screenshot workflow guidance.