Add Unity Pipeline package support

This commit is contained in:
ud18010
2026-07-31 17:34:04 +08:00
parent d1a526094e
commit 786b7ffff9
590 changed files with 51995 additions and 2 deletions
@@ -0,0 +1,91 @@
# Unity Pipeline Package
[![Unity Version](https://img.shields.io/badge/Unity-6.0%2B-blue.svg)](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).