@rage-against-the-pixel/unity-cli 3.0.1 → 4.0.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 (60) hide show
  1. package/README.md +89 -223
  2. package/dist/android-sdk.js +8 -1
  3. package/dist/android-sdk.js.map +1 -1
  4. package/dist/cli.js +195 -506
  5. package/dist/cli.js.map +1 -1
  6. package/dist/failure-markers.d.ts +17 -0
  7. package/dist/failure-markers.js +46 -0
  8. package/dist/failure-markers.js.map +1 -0
  9. package/dist/github-actions-ci.d.ts +1 -0
  10. package/dist/github-actions-ci.js +17 -3
  11. package/dist/github-actions-ci.js.map +1 -1
  12. package/dist/index.d.ts +2 -2
  13. package/dist/index.js +2 -2
  14. package/dist/index.js.map +1 -1
  15. package/dist/license-client.d.ts +113 -2
  16. package/dist/license-client.js +715 -54
  17. package/dist/license-client.js.map +1 -1
  18. package/dist/logger-provider.d.ts +2 -0
  19. package/dist/logger-provider.js +3 -0
  20. package/dist/logger-provider.js.map +1 -1
  21. package/dist/logging.d.ts +6 -1
  22. package/dist/logging.js +66 -5
  23. package/dist/logging.js.map +1 -1
  24. package/dist/process-tracker.d.ts +71 -0
  25. package/dist/process-tracker.js +213 -0
  26. package/dist/process-tracker.js.map +1 -0
  27. package/dist/unity-cli.d.ts +97 -0
  28. package/dist/unity-cli.js +587 -0
  29. package/dist/unity-cli.js.map +1 -0
  30. package/dist/unity-editor.d.ts +25 -16
  31. package/dist/unity-editor.js +204 -107
  32. package/dist/unity-editor.js.map +1 -1
  33. package/dist/unity-installer.d.ts +134 -0
  34. package/dist/unity-installer.js +963 -0
  35. package/dist/unity-installer.js.map +1 -0
  36. package/dist/unity-logging.d.ts +16 -1
  37. package/dist/unity-logging.js +79 -40
  38. package/dist/unity-logging.js.map +1 -1
  39. package/dist/unity-project.d.ts +15 -0
  40. package/dist/unity-project.js +80 -0
  41. package/dist/unity-project.js.map +1 -1
  42. package/dist/unity-version.d.ts +4 -0
  43. package/dist/unity-version.js +40 -2
  44. package/dist/unity-version.js.map +1 -1
  45. package/dist/upm-cli.d.ts +8 -8
  46. package/dist/upm-cli.js +8 -8
  47. package/dist/upm-cli.js.map +1 -1
  48. package/dist/utilities.d.ts +27 -7
  49. package/dist/utilities.js +119 -63
  50. package/dist/utilities.js.map +1 -1
  51. package/dist/utp-benign.d.ts +13 -0
  52. package/dist/utp-benign.js +41 -0
  53. package/dist/utp-benign.js.map +1 -0
  54. package/dist/utp.d.ts +11 -2
  55. package/dist/utp.js +40 -3
  56. package/dist/utp.js.map +1 -1
  57. package/package.json +14 -15
  58. package/dist/unity-hub.d.ts +0 -127
  59. package/dist/unity-hub.js +0 -1327
  60. package/dist/unity-hub.js.map +0 -1
package/README.md CHANGED
@@ -2,20 +2,43 @@
2
2
 
3
3
  [![Discord](https://img.shields.io/discord/855294214065487932.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/xQgMW9ufN4) [![NPM Version](https://img.shields.io/npm/v/%40rage-against-the-pixel%2Funity-cli)](https://www.npmjs.com/package/@rage-against-the-pixel/unity-cli) [![NPM Downloads](https://img.shields.io/npm/dw/%40rage-against-the-pixel%2Funity-cli)](https://www.npmjs.com/package/@rage-against-the-pixel/unity-cli)
4
4
 
5
- A powerful all-in-one command line utility for the Unity Game Engine. Automate Unity project setup, editor installation, license management, building, upm package signing and more! Built specifially for CI/CD pipelines and developer workflows.
5
+ > [!WARNING]
6
+ > This package is in maintenance mode.
7
+
8
+ A thin companion to Unity's official CLI (`unity`) for CI/CD pipelines. v4 installs and wraps the official CLI and only bridges what it does not cover yet.
9
+
10
+ ## Maintenance
11
+
12
+ In unity's infinite wisdom, they decided to rip off yet another one of my open source projects with a clone of their own. which has blessed me with more free time and ability to work on other projects. As always, I build these kinds of tools because there is a gap in tooling or some need of mine to fulfil. I only wish that one day I get credit for the hard work I've been doing over the last 20 years to bring games and joy to people's lives.
13
+
14
+ v4 is the last feature release. The repository stays open for security and crash fixes only, and there are no new commands. `@rage-against-the-pixel/unity-cli` v3 and v4 stay on npm.
15
+
16
+ Use Unity's official CLI for everything it covers. See [Use the Unity CLI](https://docs.unity.com/en-us/unity-cli/use-unity-cli). That includes Hub-free editor installs and uninstalls, modules, project create and open, templates, builds, tests, serial, floating and offline licenses, and service-account auth.
17
+ unity-cli v4 still covers:
18
+
19
+ - Installing the official Unity CLI on first use, with SHA-256 verification, for CI runners.
20
+ - Installing the Unity Package Manager CLI and packing signed packages with it.
21
+ - License activation and return with a Unity ID email and password, used when the official CLI cannot activate, such as a personal license on a headless runner.
22
+ - Unity 4.x and 5.x editors: installs from Unity's archives and the license file those editors read.
23
+ - Android target SDK setup for a project.
24
+ - Live Editor log and Unity Test Protocol output turned into GitHub Actions annotations, log groups and job summaries.
25
+
26
+ Send feature requests that the official CLI already covers to Unity.
6
27
 
7
28
  > [!IMPORTANT]
8
- > The documented commands can download, install, or run software from Unity (Hub, Editor, Package Manager CLI, licensing tools, and similar binaries from Unity CDNs or services). That use is covered by Unity’s [Terms of Service](https://unity.com/legal/terms-of-service), the [Unity Editor Software Additional Terms](https://unity.com/legal/terms-of-service/software), and any other [Additional Terms](https://unity.com/legal/additional-terms) that apply to the offerings you use. Keep your Unity account, seats, and subscriptions in order, and read the agreements that actually bind you before relying on automation in CI or production. The full legal index is at [Unity Legal](https://unity.com/legal).
29
+ > The documented commands can download, install, or run software from Unity (the Unity CLI, Editor, licensing tools, and similar binaries from Unity CDNs or services). That use is covered by Unity’s [Terms of Service](https://unity.com/legal/terms-of-service), the [Unity Editor Software Additional Terms](https://unity.com/legal/terms-of-service/software), and any other [Additional Terms](https://unity.com/legal/additional-terms) that apply to the offerings you use. Keep your Unity account, seats, and subscriptions in order, and read the agreements that actually bind you before relying on automation in CI or production. The full legal index is at [Unity Legal](https://unity.com/legal).
9
30
  >
10
31
  > Unity, Unity Hub, Unity Editor, and related names and logos are trademarks and other intellectual property of Unity Technologies Inc. and its affiliates. This project is independent and not affiliated with Unity. Names are used here only to describe what the commands talk to. If you ship Unity marks, artwork, or binaries, use Unity’s guidance, including their [IP policy](https://unity.com/legal/ip-policy-takedown-requests).
11
32
 
12
33
  ## Table of Contents
13
34
 
14
- - [Features](#features)
35
+ - [Maintenance](#maintenance)
36
+ - [Upgrading from v3](#upgrading-from-v3)
37
+ - [Unity version support](docs/unity-version-support.md)
15
38
  - [Installation](#installation)
16
39
  - [Usage](#usage)
17
40
  - [Common Commands](#common-commands)
18
- - [Install all tools](#install-all-tools)
41
+ - [Official Unity CLI](#official-unity-cli)
19
42
  - [Auth](#auth)
20
43
  - [License Version](#license-version)
21
44
  - [Activate License](#activate-license)
@@ -23,39 +46,35 @@ A powerful all-in-one command line utility for the Unity Game Engine. Automate U
23
46
  - [License Context](#license-context)
24
47
  - [Licensing Client Logs](#licensing-client-logs)
25
48
  - [Licensing Audit Logs](#licensing-audit-logs)
26
- - [Unity Hub](#unity-hub)
27
- - [Hub Version](#hub-version)
28
- - [Hub Path](#hub-path)
29
- - [Hub Logs](#hub-logs)
30
- - [Package Manager Logs](#package-manager-logs)
31
- - [Unity Hub Install](#unity-hub-install)
32
- - [Run Unity Hub Commands](#run-unity-hub-commands)
33
- - [Setup Unity Editor](#setup-unity-editor)
34
- - [Uninstall Unity Editor](#uninstall-unity-editor)
35
49
  - [Unity Editor](#unity-editor)
50
+ - [Setup Unity Editor](#setup-unity-editor)
36
51
  - [Run Unity Editor Commands](#run-unity-editor-commands)
37
- - [List Project Templates](#list-project-templates)
38
- - [Create Unity Project](#create-unity-project)
39
- - [Open Unity Project](#open-unity-project)
40
52
  - [Unity Editor Logs](#unity-editor-logs)
53
+ - [Deprecated Commands](#deprecated-commands)
41
54
  - [Unity Package Manager](#unity-package-manager)
42
55
  - [Install Unity Package Manager](#install-unity-package-manager)
43
56
  - [UPM Version](#upm-version)
44
57
  - [Pack a Unity Package](#pack-a-unity-package)
45
- - [Deprecated Sign Package Command](#deprecated-sign-package-command)
46
58
  - [Logging](#logging)
47
59
  - [Local cli](#local-cli)
48
60
  - [Github Actions](#github-actions)
49
61
 
50
- ## Features
62
+ ## Upgrading from v3
63
+
64
+ v4 drops the Hub. Commands that need the official CLI install it on first use.
51
65
 
52
- - Install and manage Unity Hub and Unity Editors (multi-platform)
53
- - Activate and return Unity licenses (personal, professional, floating)
54
- - Create new Unity projects from templates
55
- - Run Unity Editor commands and builds from the CLI
56
- - Supports all modules, architectures, and build targets
57
- - Works on Windows, macOS, and Linux
58
- - Designed for automation and CI/CD
66
+ | v3 command | v4 |
67
+ | --- | --- |
68
+ | `install-all-tools`, `hub-install` | Removed. The official CLI installs on first use, with no Hub needed |
69
+ | `hub`, `hub-path`, `hub-version`, `hub-logs`, `package-manager-logs` | Removed. Use `unity env`, `unity logs`, `unity doctor` |
70
+ | `sign-package` | Removed. Use `upm-pack` |
71
+ | `uninstall-unity` | Deprecated, same options, forwards to `unity uninstall <version> --yes` |
72
+ | `list-project-templates` | Deprecated, same options, forwards to `unity templates list --editor <version>` |
73
+ | `create-project` | Deprecated, same options, forwards to `unity projects create <name> --path <path> --editor-version <version> --template <id> --no-cloud` |
74
+ | `open-project` | Deprecated, same options, forwards to `unity open <project>` |
75
+ | `upm-install`, `upm-version`, `upm-pack` | Unchanged |
76
+
77
+ `setup-unity` exports `UNITY_CLI_PATH` instead of `UNITY_HUB_PATH`. Only the commands above are forwarded; unknown commands are not passed to `unity`.
59
78
 
60
79
  ## Installation
61
80
 
@@ -64,7 +83,7 @@ npm install -g @rage-against-the-pixel/unity-cli
64
83
  ```
65
84
 
66
85
  > [!IMPORTANT]
67
- > Requires Node v22.12 or higher.
86
+ > Requires Node v24 or higher.
68
87
 
69
88
  ## Usage
70
89
 
@@ -74,7 +93,7 @@ In general, the command structure is:
74
93
  unity-cli [command] {options} <args...>
75
94
  ```
76
95
 
77
- With options always using double dashes (`--option`) and arguments passed directly to Unity or Unity Hub commands as they normally would with single dashes (`-arg`). Each option typically has a short alias using a single dash (`-o`), except for commands where we pass through arguments, as those get confused by the command parser.
96
+ With options always using double dashes (`--option`) and arguments passed directly to Unity commands as they normally would with single dashes (`-arg`). Each option typically has a short alias using a single dash (`-o`), except for commands where we pass through arguments, as those get confused by the command parser.
78
97
 
79
98
  ### Common Commands
80
99
 
@@ -90,22 +109,20 @@ With options always using double dashes (`--option`) and arguments passed direct
90
109
  unity-cli --help
91
110
  ```
92
111
 
93
- ### Install all tools
112
+ ### Official Unity CLI
94
113
 
95
- `install-all-tools`: Install the Unity Hub and the Unity Package Manager cli (pack/sign). Runs `hub-install` and `upm-install` in parallel. Use `unity-cli install-all-tools --help` for all options.
114
+ Every command that needs the official Unity CLI installs it on first use. It downloads the latest release from Unity's CDN, checks the SHA-256 that Unity's release manifest lists, caches it in the runner tool cache (`unity-cli/<version>/<arch>`), adds it to the `PATH`, and exports `UNITY_CLI_PATH` and `UNITY_CLI_VERSION`. Later steps in the same job read `UNITY_CLI_VERSION` and reuse that copy. It also sets `UNITY_NON_INTERACTIVE`, `UNITY_NO_UPDATE_CHECK` and `UNITY_NO_CONSENT_PROMPT` so the CLI never prompts or updates itself mid-job.
96
115
 
97
- - `--verbose`: Enable verbose logging.
98
- - `--auto-update`: If any tools are installed, they're automatically updated to the latest versions. Cannot be used with `--hub-version` or `--upm-version`.
99
- - `--hub-version <version>`: Specify to install a specific version of Unity Hub. Cannot be used with `--auto-update`.
100
- - `--upm-version <version>`: Specify to install a specific version of the Unity Package Manager cli. Cannot be used with `--auto-update`.
101
- - `--json`: Print hub path, UPM CLI version, and resolved UPM CLI path as JSON.
116
+ To use a specific release, pass `--unity-cli-version <version>` to any command or set `UNITY_CLI_VERSION`:
102
117
 
103
118
  ```bash
104
- unity-cli install-all-tools --auto-update
119
+ unity-cli --unity-cli-version 1.0.0-beta.14 setup-unity --unity-version 6000
105
120
  ```
106
121
 
107
122
  ### Auth
108
123
 
124
+ Every license command tries the official Unity CLI first. When it fails, unity-cli falls back to `Unity.Licensing.Client` (the copy the official CLI downloads) with your Unity ID email and password. Unity 4.x and 5.x editors read their own license file, so when `UNITY_EDITOR_PATH` points at one of them, unity-cli uses the licensing client directly and patches it for that editor.
125
+
109
126
  #### License Version
110
127
 
111
128
  `license-version`: Print the Unity License Client version.
@@ -119,23 +136,28 @@ unity-cli license-version
119
136
  `activate-license [options]`: Activate a Unity license.
120
137
 
121
138
  - `-l`, `--license`: License type (personal, professional, floating). Required.
122
- - `-e`, `--email`: Email associated with the Unity account. Required when activating a personal or professional license.
123
- - `-p`, `--password`: Password for the Unity account. Required when activating a personal or professional license.
124
- - `-s`, `--serial`: License serial number. Required when activating a professional license.
139
+ - `-e`, `--email`: Email associated with the Unity account. Used when the official CLI cannot activate a personal or professional license. Defaults to `UNITY_USERNAME`.
140
+ - `-p`, `--password`: Password for the Unity account. Used when the official CLI cannot activate a personal or professional license. Defaults to `UNITY_PASSWORD`.
141
+ - `-s`, `--serial`: License serial number. Required when activating a professional license. Defaults to `UNITY_SERIAL`.
142
+ - `-f`, `--license-file`: A cached license file (`Unity_lic.ulf`) from an earlier activation on a machine with the same identity: a path, the raw XML, or base64. Defaults to `UNITY_LICENSE`. Falls back to the email and password when it cannot be used.
125
143
  - `-c`, `--config`: Path to the configuration file, raw JSON, or base64 encoded JSON string. Required when activating a floating license.
126
144
  - `--json`: Prints the last line of output as JSON string.
127
145
  - `--verbose`: Enable verbose logging.
128
146
 
129
147
  ```bash
130
- unity-cli activate-license --license personal --email <your-email> --password <your-password>
148
+ UNITY_USERNAME=<your-email> UNITY_PASSWORD=<your-password> unity-cli activate-license --license personal
131
149
  ```
132
150
 
151
+ > [!NOTE]
152
+ > Prefer the environment variables over `--email` and `--password`: values on a command line are visible to other processes on the machine. The Unity Licensing Client fallback still receives them as arguments, which Unity's client requires, so the official CLI stays the first choice.
153
+
133
154
  ##### Return License
134
155
 
135
156
  `return-license [options]`: Return a Unity license.
136
157
 
137
158
  - `-l`, `--license`: License type (personal, professional, floating)
138
- - `-t`, `--token`: Floating license token. Required when returning a floating license.
159
+ - `-t`, `--token`: Floating license token from activation. When given, the floating license is returned with the Unity Licensing Client.
160
+ - `--when <auto|always|never>`: Defaults to `auto`, which skips returning a personal or professional license on GitHub-hosted macOS and Linux runners. Those runners report one machine identity to Unity across every job and repository, so a return there revokes the license for all of them. Windows and self-hosted runners always return.
139
161
  - `--verbose`: Enable verbose logging.
140
162
 
141
163
  ```bash
@@ -144,12 +166,20 @@ unity-cli return-license --license personal
144
166
 
145
167
  #### License Context
146
168
 
147
- `license-context`: Print the current license context information.
169
+ `license-context`: Print the current license state from the official CLI and the Unity Licensing Client.
148
170
 
149
171
  ```bash
150
172
  unity-cli license-context
151
173
  ```
152
174
 
175
+ #### License File Path
176
+
177
+ `license-file-path`: Prints the path to the machine's Unity license file (`Unity_lic.ulf`).
178
+
179
+ ```bash
180
+ unity-cli license-file-path
181
+ ```
182
+
153
183
  #### Licensing Client Logs
154
184
 
155
185
  `licensing-client-logs`: Prints the path to the Unity Licensing Client log file.
@@ -166,114 +196,38 @@ unity-cli licensing-client-logs
166
196
  unity-cli licensing-audit-logs
167
197
  ```
168
198
 
169
- ### Unity Hub
170
-
171
- #### Hub Version
172
-
173
- `hub-version`: Print the Unity Hub version.
174
-
175
- ```bash
176
- unity-cli hub-version
177
- ```
178
-
179
- #### Hub Path
180
-
181
- `hub-path`: Print the path to the Unity Hub executable.
182
-
183
- - `--json`: Prints the last line of output as JSON string.
184
-
185
- ```bash
186
- unity-cli hub-path
187
- ```
188
-
189
- #### Hub Logs
190
-
191
- `hub-logs`: Prints the path to the Unity Hub log file.
192
-
193
- ```bash
194
- unity-cli hub-logs
195
- ```
196
-
197
- #### Package Manager Logs
198
-
199
- `package-manager-logs`: Prints the path to the Unity Package Manager log file.
200
-
201
- ```bash
202
- unity-cli package-manager-logs
203
- ```
204
-
205
- #### Unity Hub Install
206
-
207
- `hub-install [options]`: Install or update the Unity Hub.
208
-
209
- - `--auto-update`: Automatically updates the Unity Hub if it is already installed. Cannot be used with `--hub-version`.
210
- - `--hub-version`: Specify to install a specific version of Unity Hub. Cannot be used with `--auto-update`.
211
- - `--verbose`: Enable verbose logging.
212
- - `--json`: Prints the last line of output as JSON string.
213
-
214
- ```bash
215
- unity-cli hub-install
216
- ```
217
-
218
- #### Run Unity Hub Commands
219
-
220
- `hub [options] <args...>`: Run commands directly to the Unity Hub. (You need not to pass `--headless` or `--` to this command).
221
-
222
- - `--verbose`: Enable verbose logging.
223
- - `--json`: Prints the last line of output as a json string, which contains the operation results.
224
- - `<args...>`: Arguments to pass directly to the Unity Hub executable.
225
-
226
- Lists available Unity Hub commands:
227
-
228
- ```bash
229
- unity-cli --verbose hub help
230
- ```
231
-
232
- Gets a list of installed editors:
233
-
234
- ```bash
235
- unity-cli hub editors --installed
236
- ```
199
+ ### Unity Editor
237
200
 
238
201
  #### Setup Unity Editor
239
202
 
240
- `setup-unity [options]`: Find or install the Unity Editor for a project or specific version.
203
+ `setup-unity [options]`: Find or install the Unity Editor for a project or specific version. 2017.4 and newer install with `unity install`. 5.x installs from Unity's download archive, because the official CLI reads one-digit majors as Unity 6 shorthand. 4.x installs from Unity's legacy installers on Windows and macOS.
241
204
 
242
205
  - `-p`, `--unity-project <unityProject>` The path to a Unity project or `none` to skip project detection.
243
206
  - `-u`, `--unity-version <unityVersion>` The Unity version to get (e.g. `2020.3.1f1`, `2021.x`, `2022.1.*`, `6000`). If specified, it will override the version read from the project.
244
207
  - `-c`, `--changeset <changeset>` The Unity changeset to get (e.g. `1234567890ab`).
208
+ - `--channel <channels>` Release channel letter(s) when resolving partial versions: `f`,`p`,`b`,`a`,`x` (comma-separated). Default: `f` (stable only). Partial versions fail closed if no match exists for the requested channel(s).
245
209
  - `-a`, `--arch <arch>` The Unity architecture to get (e.g. `x86_64`, `arm64`). Defaults to the architecture of the current process.
246
210
  - `-b`, `--build-targets <buildTargets>` The Unity build target to get/install as comma-separated values (e.g. `iOS,Android`).
247
211
  - `-m`, `--modules <modules>` The Unity module to get/install as comma-separated values (e.g. `ios,android`).
248
- - `-i`, `--install-path <installPath>` The path to install the Unity Editor to. By default, it will be installed to the default Unity Hub location.
212
+ - `-i`, `--install-path <installPath>` The path to install the Unity Editor to. By default, it will be installed to the official CLI's install path.
249
213
  - `--verbose` Enable verbose logging.
250
214
  - `--json` Prints the last line of output as JSON string.
251
215
 
252
- Installs the latest Unity 6 version with Android and iOS modules:
216
+ With only `--unity-project`, it installs the modules for every build profile saved under the project's `Assets` folder (Unity 6 and newer). `--modules` or `--build-targets` replace that list.
253
217
 
254
- ```bash
255
- unity-cli setup-unity --unity-version 6000 --modules android,ios
256
- ```
257
-
258
- #### Uninstall Unity Editor
218
+ It exports `UNITY_CLI_PATH`, `UNITY_EDITOR_PATH`, `UNITY_EDITOR_VERSION`, `UNITY_EDITOR_CHANGESET`, `UNITY_EDITOR_CHANNELS` and, with a project, `UNITY_PROJECT_PATH`. With a project and the `android` module, it also installs the project's Android target SDK.
259
219
 
260
- `uninstall-unity [options]`: Uninstall a Unity Editor version.
261
-
262
- - `-e`, `--unity-editor <unityEditor>` The path to the Unity Editor executable. If unspecified, `-u`, `--unity-version` or the `UNITY_EDITOR_PATH` environment variable must be set.
263
- - `-u`, `--unity-version <unityVersion>` The Unity version to get (e.g. `2020.3.1f1`, `2021.x`, `2022.1.*`, `6000`). If unspecified, then `--unity-editor` must be specified.
264
- - `-c`, `--changeset <changeset>` The Unity changeset to get (e.g. `1234567890ab`).
265
- - `-a`, `--arch <arch>` The Unity architecture to get (e.g. `x86_64`, `arm64`). Defaults to the architecture of the current process.
266
- - `--verbose` Enable verbose logging.
220
+ Installs the latest Unity 6 version with Android and iOS modules:
267
221
 
268
222
  ```bash
269
- unity-cli uninstall-unity --unity-version 6000
223
+ unity-cli setup-unity --unity-version 6000 --modules android,ios
270
224
  ```
271
225
 
272
- ### Unity Editor
273
-
274
226
  #### Run Unity Editor Commands
275
227
 
276
- `run [options] <args...>`: Run Unity Editor command line arguments (passes args directly to the editor).
228
+ `run [options] <args...>`: Run Unity Editor command line arguments with live Editor log and Unity Test Protocol annotations.
229
+
230
+ Runs with a project go through the official CLI's `unity run` for 2019.1 and newer editors. Runs without a project, older editors, Linux runs that need `xvfb`, and x86_64 editors under Rosetta launch the editor directly. Set `UNITY_CLI_DIRECT_LAUNCH=true` to always launch the editor directly.
277
231
 
278
232
  - `--unity-editor <unityEditor>` The path to the Unity Editor executable. If unspecified, `--unity-project` or the `UNITY_EDITOR_PATH` environment variable must be set.
279
233
  - `--unity-project <unityProject>` The path to a Unity project. If unspecified, the `UNITY_PROJECT_PATH` environment variable will be used, otherwise no project will be specified.
@@ -291,65 +245,6 @@ unity-cli uninstall-unity --unity-version 6000
291
245
  unity-cli run --unity-project <path-to-project> -quit -batchmode -executeMethod StartCommandLineBuild
292
246
  ```
293
247
 
294
- #### List Project Templates
295
-
296
- > [!NOTE]
297
- > Regex patterns are supported for the `--template` option. For example, to create a 3D project with either the standard or cross-platform template, you can use `com.unity.template.3d(-cross-platform)?`.
298
-
299
- `list-project-templates [options]`: List available Unity project templates for an editor.
300
-
301
- - `-u`, `--unity-version <unityVersion>` The Unity version to get (e.g. `2020.3.1f1`, `2021.x`, `2022.1.*`, `6000`). If unspecified, then `--unity-editor` must be specified.
302
- - `-e`, `--unity-editor <unityEditor>` The path to the Unity Editor executable. If unspecified, `-u`, `--unity-version` or the `UNITY_EDITOR_PATH` environment variable must be set.
303
- - `--verbose` Enable verbose logging.
304
- - `--json` Prints the last line of output as JSON string.
305
-
306
- Lists available project templates for Unity 6:
307
-
308
- ```bash
309
- unity-cli list-project-templates --unity-version 6000
310
- ```
311
-
312
- #### Create Unity Project
313
-
314
- `create-project [options]`: Create a new Unity project.
315
-
316
- - `-n`, `--name <projectName>` The name of the new Unity project. If unspecified, the project will be created in the specified path or the current working directory.
317
- - `-p`, `--path <projectPath>` The path to create the new Unity project. If unspecified, the current working directory will be used.
318
- - `-t`, `--template <projectTemplate>` The name of the template package to use for creating the unity project. Supports regex patterns. (default:
319
- `com.unity.template.3d(-cross-platform)?`)
320
- - `-u`, `--unity-version <unityVersion>` The Unity version to get (e.g. `2020.3.1f1`, `2021.x`, `2022.1.*`, `6000`). If unspecified, then `--unity-editor` must be specified.
321
- - `-e`, `--unity-editor <unityEditor>` The path to the Unity Editor executable. If unspecified, `-u`, `--unity-version`, or the `UNITY_EDITOR_PATH` environment variable must be set.
322
- - `--verbose` Enable verbose logging.
323
- - `--json` Prints the last line of output as JSON string.
324
-
325
- Creates a new Unity project named "MyGame" using the latest version of Unity 6 and the 3D template:
326
-
327
- ```bash
328
- unity-cli create-project --name "MyGame" --template com.unity.template.3d(-cross-platform)? --unity-version 6000
329
- ```
330
-
331
- #### Open Unity Project
332
-
333
- `open-project [options]`: Open a Unity project in the Unity Editor.
334
-
335
- - `-p`, `--unity-project <unityProject>` The path to a Unity project. If unspecified, the `UNITY_PROJECT_PATH` environment variable or the current working directory will be used.
336
- - `-u`, `--unity-version <unityVersion>` The Unity version to get (e.g. `2020.3.1f1`, `2021.x`, `2022.1.*`, `6000`). If specified, it will override the version read from the project.
337
- - `-t`, `--build-target <buildTarget>` The Unity build target to switch the project to (e.g. `StandaloneWindows64`, `StandaloneOSX`, `iOS`, `Android`, etc).
338
- - `--verbose` Enable verbose logging.
339
-
340
- Opens a specific Unity project with the latest Unity 6 version and switches the active platform to Android:
341
-
342
- ```bash
343
- unity-cli open-project --unity-project <path-to-project> --unity-version 6000 --build-target Android
344
- ```
345
-
346
- > [!TIP]
347
- > If you run this command in the same directory as your Unity project, you can omit the `--unity-project`, `--unity-version`, and `--unity-editor` options.
348
-
349
- ```bash
350
- unity-cli open-project
351
- ```
352
-
353
248
  #### Unity Editor Logs
354
249
 
355
250
  `editor-logs`: Prints the path to the Unity Editor log files.
@@ -358,8 +253,14 @@ unity-cli open-project
358
253
  unity-cli editor-logs
359
254
  ```
360
255
 
256
+ ### Deprecated Commands
257
+
258
+ `uninstall-unity`, `list-project-templates`, `create-project` and `open-project` keep their v3 options, print a deprecation warning that names the replacement, and forward to the official Unity CLI (see [Upgrading from v3](#upgrading-from-v3)). `create-project --template` takes a template id or id prefix; v3 regex patterns are no longer compiled, and only their leading literal part is matched. Run `unity-cli <command> --help` for the options.
259
+
361
260
  ### Unity Package Manager
362
261
 
262
+ Unity publishes the pack and sign tool as its own CLI. See [Unity Package Manager CLI workflow](https://docs.unity3d.com/Manual/upm-cli.html). The commands below call that same `upm` binary.
263
+
363
264
  #### Install Unity Package Manager
364
265
 
365
266
  `upm-install [options]`: Download and install the Unity Package Manager cli (pack/sign).
@@ -398,27 +299,6 @@ unity-cli upm-version
398
299
  unity-cli upm-pack --source <path-to-package-folder> --destination <output-path>
399
300
  ```
400
301
 
401
- #### Deprecated Sign Package Command
402
-
403
- > [!WARNING]
404
- > **Deprecated:** The `sign-package` command is deprecated. Use `unity-cli upm-pack --source <path-to-package-folder> --destination <output-path>` with `UNITY_ORGANIZATION_ID` or `UNITY_ORG_ID`, `UPM_SERVICE_ACCOUNT_KEY_ID`, and `UPM_SERVICE_ACCOUNT_KEY_SECRET` (or secure prompts).
405
-
406
- `sign-package [options]`: [Deprecated] Sign a Unity package using Unity Editor 6000.3+ batch mode (`-upmPack`). Use `unity-cli upm-pack` with organization and service account credentials for new workflows.
407
-
408
- - `--package <package>` Required. The fully qualified path to the folder that contains the package.json file for the package you want to sign. Note: Don't include package.json in this parameter value.
409
- - `--output <output>` Optional. The output directory where you want to save the signed tarball file (.tgz). If unspecified, the package contents will be updated in place with the signed .attestation.p7m file.
410
- - `--email <email>` Email associated with the Unity account. If unspecified, the `UNITY_USERNAME` environment variable will be used.
411
- - `--password <password>` The password of the Unity account. If unspecified, the `UNITY_PASSWORD` environment variable will be used.
412
- - `--organization <organization>` The Organization ID you copied from the Unity Cloud Dashboard. If unspecified, the `UNITY_ORGANIZATION_ID` environment variable will be used.
413
- - `--verbose` Enable verbose logging.
414
-
415
- > [!NOTE]
416
- > The `--output` option is optional. If not specified, the package contents will be updated in place with the signed `.attestation.p7m` file. Otherwise a signed `.tgz` file will be created in the specified output directory.
417
-
418
- ```bash
419
- unity-cli sign-package --package <path-to-package-folder> --email <your-email> --password <your-password> --organization <your-organization-id>
420
- ```
421
-
422
302
  ## Logging
423
303
 
424
304
  ### Local cli
@@ -435,21 +315,7 @@ When `GITHUB_ACTIONS=true`, the logger emits GitHub workflow commands automatica
435
315
  - Defaults to `info` level; add `--verbose` (or temporarily set `ACTIONS_STEP_DEBUG=true`) to surface `debug` lines.
436
316
  - `Logger.annotate(...)` escapes `%`, `\r`, and `\n`, then includes `file`, `line`, `endLine`, `col`, `endColumn`, and `title` metadata so annotations are clickable in the Checks UI.
437
317
  - `startGroup`/`endGroup` become `::group::` / `::endgroup::` blocks.
438
- - `CI_mask`, `CI_setEnvironmentVariable`, and `CI_setOutput` write to the corresponding GitHub-provided files when those features are configured.
318
+ - `CI_mask`, `CI_setEnvironmentVariable`, `CI_setOutput` and `CI_addPath` write to the corresponding GitHub-provided files when those features are configured.
439
319
  - **Job summary (`GITHUB_STEP_SUMMARY`) is opt-in:** set `UNITY_CLI_WORKFLOW_SUMMARY` to `1`, `true`, `yes`, or `on` (case-insensitive) so `CI_appendWorkflowSummary` can append the rich markdown block from Unity log / UTP parsing. If unset, summary output is skipped (annotations and stdout behavior are unchanged).
440
320
 
441
321
  The same command line you run locally therefore produces colorized console output on your machine and rich annotations once it runs inside Actions.
442
-
443
- ### Additional CI Environments
444
-
445
- At the moment, only GitHub Actions is supported for enhanced logging. If you would like to see support for additional CI environments, please open a pull request or feature request on the GitHub repository.
446
-
447
- #### Roadmap
448
-
449
- - [ ] Support Azure DevOps logging commands
450
- - [ ] Support GitLab CI logging commands
451
- - [ ] Support Bitbucket Pipelines logging commands
452
- - [ ] Support Jenkins logging commands
453
- - [ ] Support CircleCI logging commands
454
- - [ ] Support Travis CI logging commands
455
- - [ ] Support TeamCity logging commands
@@ -39,7 +39,14 @@ async function CheckAndroidSdkInstalled(editor, projectPath) {
39
39
  const javaSdk = await getJDKPath(editor);
40
40
  await execSdkManager(sdkManagerPath, javaSdk, ['--licenses']);
41
41
  await execSdkManager(sdkManagerPath, javaSdk, ['--update']);
42
- await execSdkManager(sdkManagerPath, javaSdk, ['platform-tools', `platforms;android-${androidTargetSdk}`]);
42
+ try {
43
+ await execSdkManager(sdkManagerPath, javaSdk, ['platform-tools', `platforms;android-${androidTargetSdk}`]);
44
+ }
45
+ catch (error) {
46
+ // sdkmanager sometimes fails to unzip a package it just downloaded; a second attempt downloads it again
47
+ logger.warn(`${error}\nRetrying the Android SDK install...`);
48
+ await execSdkManager(sdkManagerPath, javaSdk, ['platform-tools', `platforms;android-${androidTargetSdk}`]);
49
+ }
43
50
  sdkPath = await getAndroidSdkPath(editor, androidTargetSdk);
44
51
  if (!sdkPath) {
45
52
  throw new Error(`Failed to install android-${androidTargetSdk} in ${editor.editorRootPath}`);
@@ -1 +1 @@
1
- {"version":3,"file":"android-sdk.js","sourceRoot":"","sources":["../src/android-sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"android-sdk.js","sourceRoot":"","sources":["../src/android-sdk.ts"],"names":[],"mappings":"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"}