13 stable releases
| new 3.9.0 | Nov 4, 2025 |
|---|---|
| 3.8.0 | Oct 31, 2025 |
| 3.5.0 | Sep 25, 2025 |
#27 in Development tools
281 downloads per month
470KB
11K
SLoC
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
cargo install unity-version-manager
install from source with cmake
git clone git@github.com:Larusso/unity-version-manager.git
cd unity-version-manager
make install
install from source with cargo
git clone git@github.com:Larusso/unity-version-manager.git
cd unity-version-manager
cargo install --path ./uvm
Usage
The uvm (unity-version-manager) is a command-line tool for managing Unity installations and projects.
uvm [OPTIONS] <COMMAND>
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
uvm install 2023.1.4f1
# Install with additional modules
uvm install 2023.1.4f1 --module android --module ios
# Install to custom location
uvm install 2023.1.4f1 /path/to/install
# Install with sync modules (dependencies)
uvm install 2023.1.4f1 --module android --with-sync
List Unity Installations
# List Unity Hub installations (default)
uvm list
# List all Unity installations
uvm list --all
# List system installations only
uvm list --system
# Show path only
uvm list --path
Launch Unity Projects
# Launch Unity with current directory as project
uvm launch
# Launch specific project
uvm launch /path/to/project
# Launch with specific platform
uvm launch /path/to/project --platform android
# Auto-detect project and use its Unity version
uvm launch --force-project-version
Version Management
# Get latest LTS version
uvm version latest --stream lts
# Find versions matching requirement
uvm version matching ">=2023.1"
# List modules for specific version
uvm modules 2023.1.4f1
# List modules by category
uvm modules 2023.1.4f1 --category platforms
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
git clone git@github.com:Larusso/unity-version-manager.git
cd unity-version-manager
cargo build --workspace
Running Tests
cargo test --workspace
Running Development Version
# Run the uvm binary directly
cargo run --bin uvm -- --help
# Install locally for testing
cargo install --path ./uvm
License
Dependencies
~27–48MB
~762K SLoC