MCPcopy Index your code
hub / github.com/Larusso/unity-version-manager

github.com/Larusso/unity-version-manager @v3.11.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.11.0 ↗ · + Follow
840 symbols 2,400 edges 123 files 70 documented · 8% updated 2mo agov3.11.0 · 2026-03-07★ 426 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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

Apache License 2.0

Extension points exported contracts — how you extend this code

InstallHandler (Interface)
(no doc) [14 implementers]
uvm_install/src/install/mod.rs
Command (Interface)
(no doc) [7 implementers]
uvm/src/commands/mod.rs
Middleware (Interface)
Generic middleware trait that can process any type of request [3 implementers]
uvm_live_platform/src/api/middleware.rs
Installation (Interface)
(no doc) [3 implementers]
unity-hub/src/unity/installation.rs
Options (Interface)
(no doc) [1 implementers]
legacy/uvm-install/src/lib.rs
ModuleInstaller (Interface)
Trait for installing individual modules, allowing for mocking in tests [2 implementers]
uvm_install/src/lib.rs
View (Interface)
(no doc) [7 implementers]
uvm/src/commands/presentation.rs
FromInstallation (Interface)
(no doc) [2 implementers]
unity-hub/src/unity/installation.rs

Core symbols most depended-on inside this repo

path
called by 139
uvm_install/src/lib.rs
as_ref
called by 110
uvm_install/src/lib.rs
into
called by 59
uvm_install/src/lib.rs
recursive
called by 50
uvm_detect/src/lib.rs
destination
called by 46
uvm_install/src/install/installer/mod.rs
create
called by 45
unity-hub/src/unity/hub/editors.rs
collect
called by 41
uvm_gc/src/lib.rs
context
called by 36
uvm_install_graph/src/lib.rs

Shape

Method 387
Function 286
Class 112
Enum 43
Interface 12

Languages

Rust100%

Modules by API surface

uvm_install/src/lib.rs65 symbols
uvm_detect/src/lib.rs54 symbols
uvm_live_platform/src/api/list_versions.rs42 symbols
unity-version/src/version/mod.rs41 symbols
uvm_live_platform/src/api/fetch_release.rs29 symbols
uvm_live_platform/src/api/cache.rs26 symbols
uvm_gc/src/lib.rs24 symbols
unity-hub/src/unity/installation.rs24 symbols
uvm_install_graph/src/lib.rs23 symbols
unity-hub/src/unity/mod.rs21 symbols
unity-hub/src/unity/hub/editors.rs21 symbols
uvm/src/commands/presentation.rs19 symbols

For agents

$ claude mcp add unity-version-manager \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact