92 lines
3.2 KiB
Markdown
92 lines
3.2 KiB
Markdown
# Unity Pipeline Package
|
|
|
|
[](https://unity3d.com/unity/whats-new/2023.3.0)
|
|
|
|
Transform Unity Editor into a programmable automation element for CI/CD pipelines and development workflows. The package exposes a running Unity Editor (or development Player) over a local HTTP API so external tools, scripts, or agents can execute commands remotely.
|
|
|
|
## Install the Unity CLI
|
|
|
|
The Pipeline package is driven through the `unity` CLI.
|
|
|
|
macOS / Linux
|
|
```
|
|
curl -fsSL https://public-cdn.cloud.unity3d.com/hub/prod/cli/install.sh | UNITY_CLI_CHANNEL=beta bash
|
|
```
|
|
|
|
Windows (PowerShell)
|
|
```
|
|
$env:UNITY_CLI_CHANNEL='beta'; irm https://public-cdn.cloud.unity3d.com/hub/prod/cli/install.ps1 | iex
|
|
```
|
|
|
|
For more details, see the [CLI documentation](https://github.com/Unity-Technologies/unity-hub/tree/dev/src/cli).
|
|
|
|
## Install the Pipeline package
|
|
|
|
Install the package into a Unity project with:
|
|
|
|
```bash
|
|
unity pipeline install
|
|
```
|
|
|
|
By default it targets the current directory (or the running Unity instance). Use `--project-path` to target a specific project:
|
|
|
|
```bash
|
|
unity pipeline install --project-path /path/to/your/unity/project
|
|
```
|
|
|
|
Then open the project in the Unity Editor. The package automatically starts its HTTP server and registers the built-in commands.
|
|
|
|
## Connect to a running Editor
|
|
|
|
Run `unity command` with no command name to connect to a Unity instance and list its available commands:
|
|
|
|
```bash
|
|
# Auto-discover a Unity instance from the current directory
|
|
unity command
|
|
|
|
# Connect to a specific project
|
|
unity command --project-path /path/to/your/unity/project
|
|
```
|
|
|
|
Click [here](Documentation~/connectivity.md) for more details on Connectivity troubleshooting.
|
|
|
|
## Connect to a running Player (Runtime)
|
|
|
|
To target a running development Player instead of the Editor, use `--runtime` (by process name) or `--runtime-path` (by the location of the runtime port file). These options go **after** `command` and **before** the command name.
|
|
|
|
```bash
|
|
# By Player process/executable name
|
|
unity command --runtime MyGame.exe runtime_status
|
|
|
|
# By the path where the runtime port file is located
|
|
unity command --runtime-path <path> runtime_status
|
|
```
|
|
|
|
`--runtime-path` points to where the `.unity-pipeline-runtime-port` file lives:
|
|
|
|
- **Windows** — the port file sits next to the Player executable:
|
|
|
|
```bash
|
|
unity command --runtime-path "C:\Builds\MyGame" runtime_status
|
|
```
|
|
|
|
- **macOS** — pass the path to the `.app` bundle:
|
|
|
|
```bash
|
|
unity command --runtime-path "/Users/me/Builds/MyGame.app" runtime_status
|
|
```
|
|
|
|
Click [here](Documentation~/connectivity.md) for more details on Connectivity troubleshooting.
|
|
|
|
## Documentation
|
|
|
|
For the full command reference, connectivity details, runtime setup, and hot-reload guides, see the [Pipeline documentation](Documentation~/index.md).
|
|
|
|
## License
|
|
|
|
com.unity.package is licensed under the Unity Companion License. See [LICENSE.md](LICENSE.md) for more legal information.
|
|
|
|
## Contributions to this repository
|
|
|
|
We are not accepting pull requests at this time. If you find an issue with the package or would like to request a new feature, please submit a [GitHub issue](https://github.com/Unity-Technologies/com.unity.pipeline/issues).
|