Framework
VRMADA/ultimatexr-unity avatar
VRMADA/ultimatexr-unity

UltimateXR fills in the VR plumbing Unity leaves to each project

UltimateXR is a free, open source framework that facilitates the creation of VR applications.

563 stars76 forksC#MIT

At a glance

What is it?
UltimateXR is a MIT licensed Unity framework for virtual reality applications that ships locomotion, grab and manipulation mechanics, a hand pose editor, haptics and inverse kinematics avatars as a package you install through the Package Manager, and it is aimed at training and simulation work rather than games. It suits a studio that wants hand interaction and avatars without writing them, and it is a 0.9.x package whose networking support sits in an unreleased branch.
Who is it for?
Studios building VR training, simulation or serious applications in Unity, who want grab and manipulation mechanics, locomotion and avatars rather than hand-rolling them, are the people UltimateXR is for, and the hand pose editor plus the full body IK avatar system are the pieces that take the longest to build from scratch.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 137 days ago.
What is it written in?
Mainly C#, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A package of VR subsystems rather than a game framework

The package manifest describes the project as a free, open source XR framework and toolkit for Unity, and the list it carries is the clearest statement of scope. It includes cross-device compatibility, grab and manipulation mechanics, an advanced hand pose editor, a library of gender- and race-agnostic hands for inclusion, a customizable full body avatar representation, advanced UI components, locomotion mechanics, a fully documented API and high-quality assets. The readme frames the audience as people creating VR applications for training, simulations or games, and the feature list names precision interaction, the hand pose editor, versatile locomotion, haptics and feedback, and full body inverse kinematics avatars. What it is not is an engine, a rendering pipeline or a scene template. It is a set of subsystems you assemble into your own project, which is why the framework description in the readme is about modularity and scalability for enterprise applications.

The legs inverse kinematics are still marked as coming soon

One line in the feature list is worth pausing on, because it is the kind of detail that decides whether a project can use the framework. Full body IK avatars are listed as customizable avatars with inverse kinematics, and then in brackets it says legs IK coming soon. The manifest repeats the claim in a slightly different form, describing a customizable full body avatar representation rather than promising complete inverse kinematics. So the body representation is there and customizable, but the leg solver is not finished, which for a training application involving whole-body motion or a seated figure is a real gap rather than a detail. The readme also flags that multi-user networking support exists but is available in the stable v1.0.0 development branch, which is a similar kind of caveat, since the published 0.9.7 package does not carry it.

Installing through the Package Manager means a git URL, not a tarball

The recommended method is to install via Unity's Package Manager for Git users, and the steps are spelled out. You remove any previous version from /Assets/UltimateXR, open Unity and go to Window > Package Manager, click the + button and select Add package from git URL, then enter the repository URL.

plain
https://github.com/VRMADA/ultimatexr-unity.git

You click Add and wait for the installation, and if this is your first time using UltimateXR you import the example scenes. The second route is a unitypackage downloaded from the Releases page and opened by double-clicking it to import into Unity, and the third is the Unity Asset Store listing, where clicking Open in Unity starts the installation. All three methods begin with the same instruction, to remove any existing UltimateXR folder from /Assets/UltimateXR, which is there because a half-replaced package directory in Unity is a common source of duplicate type errors.

The package depends on two Unity packages and targets 2021.2

The manifest gives you the hard requirements. The package name is com.vrmada.ultimatexr-unity at version 0.9.7, the minimum Unity version is 2021.2 with release 2f1, and the dependencies are com.unity.xr.management at 4.2.1 and com.unity.render-pipelines.universal at 12.1.6. That last dependency is a strong signal about the rendering side, since it means the framework is written against the Universal Render Pipeline rather than the built-in pipeline or HDRP, and the sample scene description confirms it, noting that the full scene shows half-body avatars, complex manipulation, a weapon system and more while using the Universal Render Pipeline. The XR management dependency explains the platform list, since that package is the Unity tool for abstracting over device providers, and the readme links a guide per platform: Oculus, PicoXR, SteamVR, WaveXR and Windows Mixed Reality.

The samples are registered as package samples, not shipped by default

The package manifest lists the samples explicitly, and the first one is a full scene described as a complete sci-fi example scenario showcasing half-body avatars, complex manipulation, a weapon system and much more, using the Universal Render Pipeline, with the path Samples~/FullScene. A second sample is a debug panel scene showing connected XR device info and input states. The tilde in the Samples~ directory name is the Unity convention that hides a folder from the asset database until the package is imported as a dependency, so the samples are present in the package but only appear in your project once you add the package. That is why the package description ends with a note to install the samples to see all the features, and why the installation steps say to import the example scenes on a first install. For a team evaluating the framework, the full scene is the fastest way to see what the manipulation and avatar systems actually look like in motion.

The documentation is organised around the same subsystems as the code

The learning section of the readme is a map of the framework, and it divides into installation and setup, supported platforms, main components, and API and scripting. The main components listed are the avatar system, locomotion, the hand pose editor, the manipulation system and UI interaction, and the API section includes an overview, a how do I set of pages and a full API reference hosted on the project site. What is missing from the readme is equally informative. There is no description of the state machine the framework expects, no mention of the input action system, no performance guidance, and no compatibility matrix beyond the platform list. The readme's own claim is that it provides well-documented code with an intuitive API, and the linked API reference is where you would verify that, since the repository itself carries an Editor directory, a Runtime directory, the package manifest, a changelog and a readme asset, and no further prose.

Where UltimateXR is the wrong choice

The first wrong case is a VR game project, because the stated design goals are enterprise applications and simulations, and the sample scene is a sci-fi training scenario with a weapon system rather than a game loop, so the parts of the framework that matter for a game, a performance budget and a build pipeline, are not what this package optimises for. The second is a project that needs multi-user networking today, since that support lives in the v1.0.0 development branch and the released package is 0.9.7. The third is a project on a Unity version or render pipeline the dependencies do not cover, because the package pins the Universal Render Pipeline at a specific version and a project on a different pipeline or a much newer Unity will find the manifest requirements to be a negotiation rather than a given. The fourth is a team that needs full body inverse kinematics today, because the legs solver is marked as coming soon. The fifth is a project that wants a hand-tracking solution, since the readme describes hand pose editing and a library of hands, and the underlying runtime hand tracking is expected to come from the platform SDK, so a project with its own tracking requirements will still own that layer.

Editorial conclusion

Studios building VR training, simulation or serious applications in Unity, who want grab and manipulation mechanics, locomotion and avatars rather than hand-rolling them, are the people UltimateXR is for, and the hand pose editor plus the full body IK avatar system are the pieces that take the longest to build from scratch. It is the wrong choice for a game project, since the design goals are enterprise applications and simulations rather than a rendering pipeline, and it is the wrong choice if you need the networking features today, because multiplayer support is only available in a stable v1.0.0 development branch while the published package is 0.9.7. Check three things before you commit: which Unity version you are on, since the package manifest declares unity 2021.2 with release 2f1 and the readme badge says 2021 and above, that the example scenes and samples are imported, because the package notes that you should not forget to install the samples to see all the features, and whether the parts of the framework you need are in the release you can get rather than in the v1.0.0 branch. The licence is MIT, the newest tagged release is v0.9.7 from 2024-01-10, and the last push was on 2026-06-08.

Frequently asked questions

What is UltimateXR and what does it include?

It is a free, MIT licensed open-source framework for VR development in Unity, and the package manifest lists cross-device compatibility, grab and manipulation mechanics, an advanced hand pose editor, gender- and race-agnostic hands, a customizable full body avatar representation, advanced UI components, locomotion mechanics and a fully documented API.

How do I install UltimateXR in a Unity project?

The recommended method is Unity's Package Manager for Git users: remove any previous version from /Assets/UltimateXR, open Window > Package Manager, click + and choose Add package from git URL, then enter the repository URL and click Add. The other routes are a .unitypackage from the Releases page or the Unity Asset Store listing.

Which Unity version and packages does UltimateXR require?

The package manifest declares unity 2021.2 with release 2f1, and the dependencies are com.unity.xr.management at 4.2.1 and com.unity.render-pipelines.universal at 12.1.6, so the framework is written against the Universal Render Pipeline.

Does UltimateXR support networking and full body inverse kinematics?

Multiplayer support is available in the stable v1.0.0 development branch rather than the published package, and the feature list marks legs IK as coming soon, though customizable full body avatar representation is included in the released version.

Which VR platforms does UltimateXR support?

The documentation has a guide per platform, covering Oculus, PicoXR, SteamVR, WaveXR and Windows Mixed Reality, and the package depends on com.unity.xr.management for device abstraction. The project describes itself as cross-platform VR that works with major VR SDKs and hardware.

Official sources

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. VRMADA/ultimatexr-unity on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/vrmada-ultimatexr-unity.svg)](https://hysenlabs.com/projects/vrmada-ultimatexr-unity)

Was this useful?