unity-version-manager
A command-line application to manage unity versions. This tool allows to install and manage multiple unity versions on a system from the command-line. This tool is compatible with Unity-Hub and will use the installation destination configured there by default.
Installation
install with cargo
install from source with cmake
install from source with cargo
Usage
The uvm (unity-version-manager) is a command-line tool for managing Unity installations and projects.
Core Commands
| Command | Description |
|---|---|
| install | Install specified Unity version with optional modules |
| uninstall | Uninstall Unity version or specific modules |
| list | List installed Unity versions (from Hub, system, or all) |
| launch | Launch Unity with a project, optionally with specific build platform |
Project & Version Management
| Command | Description |
|---|---|
| detect | Find which Unity version was used to create a project |
| modules | List available modules for a specific Unity version |
| version | Unity version utilities (latest, matching version requirements) |
Detailed Command Usage
Install Unity
# Install specific Unity version
# Install with additional modules
# Install to custom location
# Install with sync modules (dependencies)
List Unity Installations
# List Unity Hub installations (default)
# List all Unity installations
# List system installations only
# Show path only
Launch Unity Projects
# Launch Unity with current directory as project
# Launch specific project
# Launch with specific platform
# Auto-detect project and use its Unity version
Version Management
# Get latest LTS version
# Find versions matching requirement
# List modules for specific version
# List modules by category
Global Options
| Option | Description |
|---|---|
-d, --debug |
Print debug output |
-v, --verbose |
Print more output (can be repeated) |
-c, --color |
Control color output: auto, always, never |
-h, --help |
Print help information |
-V, --version |
Print version information |
Development
Workspace Structure
This project uses a Cargo workspace with multiple crates:
| Crate | Description |
|---|---|
uvm |
Main CLI application (produces uvm binary) |
unity-version |
Unity version parsing and management |
unity-hub |
Unity Hub integration |
unity-types |
Base Unity data types |
uvm_install |
Unity installation logic |
uvm_live_platform |
Unity release platform API |
uvm_install_graph |
Installation dependency graph |
uvm_move_dir |
Cross-platform directory operations |
Building from Source
Running Tests
Running Development Version
# Run the uvm binary directly
# Install locally for testing