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.
install with cargo
cargo install unity-version-manager
install from source with cmake
git clone [email protected]:Larusso/unity-version-manager.git
cd unity-version-manager
make install
install from source with cargo
git clone [email protected]:Larusso/unity-version-manager.git
cd unity-version-manager
cargo install --path ./uvm
The uvm (unity-version-manager) is a command-line tool for managing Unity installations and projects.
uvm [OPTIONS] <COMMAND>
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 |
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) |
# 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 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 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
# 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
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 |
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 |
git clone [email protected]:Larusso/unity-version-manager.git
cd unity-version-manager
cargo build --workspace
cargo test --workspace
# Run the uvm binary directly
cargo run --bin uvm -- --help
# Install locally for testing
cargo install --path ./uvm