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.
- macOS or Windows 10/11
- Node.js 20+
npx unity-hub-cliOr install globally to use the unity-hub-cli command directly:
npm install -g unity-hub-cli
unity-hub-cliNotes 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 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.
You can add a shell function to automatically cd to the project directory after opening Unity.
- 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 terminalNow you can use unity-hub to:
- Browse and select Unity projects
- Press
oto launch Unity - Your terminal automatically
cds to the project directory
- 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
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~)
MIT