unity-hub-cli
v0.22.0
Published
A CLI tool that reads Unity Hub's projects and launches Unity Editor with an interactive TUI
Maintainers
Readme
UnityHub CLI
A CLI tool that displays the same content as Unity Hub in an Ink-based TUI, allows navigation with arrow keys/j/k, and launches Unity Editor by pressing o.
Requirements
- macOS or Windows 10/11
- Node.js 20+
Installation & Run
npx unity-hub-cliOr install globally to use the unity-hub-cli command directly:
npm install -g unity-hub-cli
unity-hub-cliWorks from PowerShell and CMD. Git Bash is supported when running inside a ConPTY-based terminal (Windows Terminal or VS Code/Cursor integrated terminal).
On standalone Git Bash (MinTTY), raw mode is not supported; use PowerShell/CMD/Windows Terminal. If you must use MinTTY Git Bash, run one of the following:
winpty cmd.exe /c npx unity-hub-cliwinpty powershell.exe -NoProfile -Command npx unity-hub-cli
Controls
| Key | Action |
|-----|--------|
| ↑ / ↓ / j / k | Navigate selection |
| o | Launch selected project in Unity |
| O (Shift+O) | Launch Unity + external editor (e.g., Rider) |
| i | Launch external editor only |
| q | Quit Unity for selected project |
| r | Refresh project list |
| c | Copy project path to clipboard (when launched via the unity-hub shell function, it will cd into the project directory and exit) |
| s | Open sort settings panel |
| v | Open visibility settings panel |
| Ctrl + C | Exit |
In settings panels, use j/k to navigate, Space to toggle, and Esc to close.
The display includes Git branch (if present), Unity version, project path, and last modified time. By default, the project list uses the Git repository root folder name when available.
CLI Options
--no-git-root-name: Display Unity project titles instead of Git repository root folder names.--shell-init: Install shell function for automaticcdintegration (with confirmation prompt).--shell-init --dry-run: Preview the shell function without installing.update: Update the globally installedunity-hub-clito the latest version (with a confirmation prompt). It runs:npm install -g unity-hub-cli@latest --ignore-scripts --no-fund.
Shell Integration
You can add a shell function to automatically cd to the project directory after opening Unity.
Setup
- Install globally:
npm install -g unity-hub-cli- Run the shell init command (auto-detects your shell):
unity-hub-cli --shell-initThis automatically adds the unity-hub function to your shell config file (.zshrc, .bashrc, config.fish, or PowerShell profile).
- Reload your shell:
source ~/.zshrc # or restart your terminalUsage
Now you can use unity-hub to:
- Browse and select Unity projects
- Press
oto launch Unity - Your terminal automatically
cds to the project directory
Notes
- Running
--shell-initmultiple times is safe - it updates the existing function using marker comments - The function uses absolute paths detected from your environment
- Windows: Shell integration supports PowerShell only. CMD is not supported because it lacks shell functions required for automatic
cdafter launching Unity
Security
This project implements supply chain attack prevention measures:
- ignore-scripts: Disables automatic script execution during
npm install - @lavamoat/allow-scripts: Explicitly controls which packages can run install scripts
- Dependabot: Automated weekly security updates
- Security audit CI: Runs
npm audit,lockfile-lint, and OSV-Scanner on every PR - Pinned versions: All dependencies use exact versions (no
^or~)
License
MIT
