A CLI tool that reads Unity Hub's projects and launches Unity Editor with an interactive TUI
npm install unity-hub-cliA 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.
- macOS or Windows 10/11
- Node.js 20+
``bash`
npx unity-hub-cli
Or install globally to use the unity-hub-cli command directly:
`bash`
npm install -g unity-hub-cli
unity-hub-cli
Notes for Windows
Works 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
-
| 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.
- --no-git-root-name: Display Unity project titles instead of Git repository root folder names.--shell-init
- : Install shell function for automatic cd integration (with confirmation prompt).--shell-init --dry-run
- : Preview the shell function without installing.update
- : Update the globally installed unity-hub-cli to the latest version (with a confirmation prompt). It runs: npm install -g unity-hub-cli@latest --ignore-scripts --no-fund.
You can add a shell function to automatically cd to the project directory after opening Unity.
1. Install globally:
`bash`
npm install -g unity-hub-cli
2. Run the shell init command (auto-detects your shell):
`bash`
unity-hub-cli --shell-init
This automatically adds the unity-hub function to your shell config file (.zshrc, .bashrc, config.fish, or PowerShell profile).
3. Reload your shell:
`bash`
source ~/.zshrc # or restart your terminal
Now you can use unity-hub to:o
1. Browse and select Unity projects
2. Press to launch Unitycd
3. Your terminal automatically s to the project directory
- Running --shell-init multiple times is safe - it updates the existing function using marker commentscd
- 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 after launching Unity
This project implements supply chain attack prevention measures:
- ignore-scripts: Disables automatic script execution during npm installnpm audit
- @lavamoat/allow-scripts: Explicitly controls which packages can run install scripts
- Dependabot: Automated weekly security updates
- Security audit CI: Runs , lockfile-lint, and OSV-Scanner on every PR^
- Pinned versions: All dependencies use exact versions (no or ~`)
MIT