MAVR
Full VR for Mage Arena via OpenVR - SteamVR required. Room-scale tracking, full-body IK, motion controls, and pose sync so VR and flatscreen players see each other move.
About this mod Author’s original text
MA VR
Version 1.0.0 — Beta
Made by J_axon
Full virtual reality support for Mage Arena. Room-scale head and hand tracking, a real body you can look down at, motion controls, look-based aiming, and networking that lets VR and flatscreen players see each other move properly.
Client-side only. Your friends do not need it, and a lobby with one VR player and five flatscreen players works fine.
Runs on OpenVR — SteamVR must be running before you launch the game.
Not OpenXR. See Why OpenVR and not OpenXR if you want the reasoning. Any headset SteamVR supports will work.
Contents
- Requirements
- Installing
- Why OpenVR and not OpenXR
- Choosing VR or Flatscreen
- Controls
- Look-based actions
- The VR settings panel
- Your body
- Menus and the laser pointer
- Multiplayer and player tags
- Spell effects and the pipe smoke
- Why the lighting looks the way it does
- Why it may look softer than you expect
- Configuration
- Reporting a problem
- Known limitations
- Roadmap
- Troubleshooting
- Disclaimer
Requirements
- Mage Arena on PC
- BepInEx 5.4.2305 (x64, Mono) — this exact pack. The mod uses a preloader patcher as well as a plugin, and BepInEx 6 is a different architecture that will not load it.
- SteamVR — required, and it must already be running when you launch the game. This is not optional or a convenience: the mod renders through the OpenVR runtime, and the OpenVR compositor is SteamVR. Without it there is nothing to hand frames to, and the mod will load, log the failure, and leave you on the desktop.
- A PC VR headset. Developed and tested on a Meta Quest 3 over Virtual Desktop. Anything SteamVR drives should work — Quest over Link, Air Link, Steam Link or Virtual Desktop, Index, Vive, Pico, and WMR headsets through SteamVR.
Installing
Mod manager
Install through your mod manager. The BepInEx dependency is handled for you, and the OpenVR runtime is put in place automatically the first time you launch. Nothing else to do.
Manual
If you are not using a mod manager:
- Install BepInEx 5.4.2305 x64 Mono into your Mage Arena folder, then launch the game once and close it so BepInEx generates its folders.
- Copy the BepInEx folder from this package into your Mage Arena folder, merging with the one already there. You should end up with:
Mage Arena/
└─ BepInEx/
├─ plugins/MageArenaVR/MageArenaVR.dll
└─ patchers/MageArenaVR/
├─ MageArenaVR.Preload.dll
└─ openvr_api.dll
- Start SteamVR.
- Launch the game.
You do not need to place openvr_api.dll anywhere yourself. It ships next to the patcher, and the patcher installs it into the game's native plugin folder at startup — before anything tries to use it. If it cannot write there (a Program Files install without permission, for example) it loads the file straight from the mod folder instead, so either way it works.
Why OpenVR and not OpenXR
Short version: Mage Arena is not built with VR support, and OpenVR is the only runtime that can be added to a game like that from the outside without fighting the engine.
OpenXR is the newer standard and would normally be the right choice. But in Unity it is not just a library you call — it is an XR plugin, and Unity wires those in at engine startup, before any mod code runs. Adding one to a shipped non-VR game means:
- writing a UnitySubsystemsManifest.json into the game's data folder,
- deploying UnityOpenXR.dll and openxr_loader.dll beside the engine's own natives,
- and persuading Unity to register and initialise a display subsystem the build was never compiled to expect.
This mod did work that way early on, and it was fragile in exactly the way you would expect from injecting files into someone else's engine startup. When the display subsystem did initialise, it took over the render loop on its own terms; when it did not, the failure came from inside the engine with nothing useful to report.
OpenVR needs none of that. openvr_api.dll is an ordinary native library. The mod calls it from a normal plugin, renders each eye itself int
Install & use Install: follow the bundled instructions
- Unzip the archive from playbuff and read the bundled readme / instructions first.
- Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
- For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
- Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.
Install locations vary a lot between mods — the bundled readme is the most reliable guide.
Install these first, or the mod will not work: