D2R VR: Diablo 2 Resurrected Gets a Headset Mode Where Your Blade Picks the Target
By Indie Kings | October 23, 2026
Updated October 23, 2026: D2R VR, a Diablo II: Resurrected mod that puts the whole game in a VR headset with a first-person mode where a blade you swing picks the target, sits on GitHub under the MIT licence with 130 stars in its first nineteen days on GitHub. It is offline single-player only, and its README says so in the bluntest possible terms.
Image: GitHub repository card for natpoh/diablo2-vr-port, a Diablo II: Resurrected VR mod.
What the mod actually does
The repository describes itself in exactly one line: Diablo II: Resurrected in a VR headset. The mod is C++ under the MIT licence, built as a D2RLoader plugin, and the ready installer is distributed from the project's own site rather than from GitHub releases, of which the repository has none. The tree is about 40 MB, the default branch is main, and at the time of writing it has 130 stars, 14 forks and 10 open issues.
The README's one-sentence pitch is worth reading slowly, because almost every clause is a feature that took a release cycle to build: the game's own view from above in true 3D, a free camera behind the hero, the game laid on the floor of your room, and first person with your body as the hero's, arms on the controllers, the weapon in your hands, with the blade you swing picking the target.
Our take: the interesting engineering problem here was never the camera. It is that Diablo II's combat model has no notion of a aimed swing. Attacks target by click, and a first-person version has to invent a layer that maps a physical weapon's position, speed and path onto a game that resolves hits by probability tables. The mod's answer for those weapons is in evidence across the changelog: hit-by-touch capsules on spears and the Assassin's katars as drawn, thrust detection with its own speed and acceleration per weapon, and skill-armed swings where the blow itself is the skill.
Four ways to see the game
The mod ships four view modes, and they are not variations of one gimmick.
| Mode | What it puts in the headset |
|---|---|
| True 3D top view | The game's own camera angle, rendered with real depth instead of a flat projection |
| Free camera | A camera floating behind the hero, turned with the head |
| Mixed reality | The game laid on the floor of the room, like a diorama on a table |
| First person | Your body is the hero: arms on the controllers, the weapon in your hands |
The first three are the conventional moves of any VR conversion. The fourth is the project's identity. In first person, the README says, a blade you swing picks the target, you throw with your hand, and you draw a bow with both. The hand and weapon features are explicitly scoped to first person; the seated mode and the crouch-matching hero came in 0.174.
The hands, which are the whole point
The changelog from 0.165 to 0.175 is mostly the history of making the hands real. The sequence runs: the plugin learns to read controllers itself on native OpenXR without BodyWalk, a prototype; the swing picks its target by touch; weapons acquire weight scaled by the hero's Strength; a two-handed hilt grip arrives; the crossbow is held by its grip rather than by an abstraction; spells aim along a staff held in both hands; bows select their arrow skill through energy orbs along the bow itself; buffs, auras, curses and summons settle on your wrist; and melee skills arm by button so every blow carries the skill.
The details keep a Diablo II player in the loop. A Barbarian's Double Swing driven by two real hands exists, though it is off in the build. The mana medallion wears the icon of the armed skill. Life and mana sit on the wrists, where a fighter would want them. A shield put away behind the shoulder can stop blocking, a behavior with its own tick that ships off. A flail has a ball on a real chain.
None of this is official. That matters more for a Diablo mod than for most others, because the project's own warning is about playing online, and it sits in the next section.
What it runs on and what it needs
The requirements are specific, and worth reproducing closely because one of them pins the game to an exact build:
| Requirement | Detail |
|---|---|
| Game | Diablo II: Resurrected build 3.3.93787 under D2RLoader 1.3.1; other builds need their addresses checked, and the plugin says so in its log |
| Graphics layer | ReShade with add-on support and its Generic Depth add-on on |
| Headset | BodyWalk 1.78 or later with FlatVR and its Game Link plugin, which Setup installs; or native OpenXR with the Controls without BodyWalk prototype, which needs no BodyWalk |
| Settings | D2R_VR_Settings.exe next to the game; changes apply at once and the game launches from it |
The build pin is the honest constraint of every hook-based mod. Addresses shift between client builds, and the README's line that other builds need checking is a maintenance promise, not a warning label. The requirements list pins the supported configuration instead of pretending any client will do.
Calibration is a step of its own. The mod saves your measured eye height and arm span, the eye height setting sets the world's scale while the arm span fits the hero's arms, and the hands stay 1:1 with the controllers and a seated mode landed in 0.174, along with getting the hero to crouch when you crouch.
Three weeks of changelog
Nineteen days of work produced a dense changelog. The milestones worth knowing:
| Version | What it added |
|---|---|
| 0.165 | First person on native OpenXR: controllers read without BodyWalk, hit by touch, weapon weight, two-hand bow draw, skill wheel and settings panel in-headset, life and mana on the wrists |
| 0.168 | Frozen-game fix in native OpenXR, weapons with weight by Strength, the flail's chained ball, shoulder holsters for weapons and shield, wrist buffs and class-tree skills |
| 0.170 | The mod becomes a D2RLoader mod under mods\D2R-VR, stops sharing files with the other VR mod, and comes with the D2R VR Launcher alongside Setup, plus a rebuilt the Arcane Sanctuary's sky from your game's files |
| 0.174 | Real measured standing height and a seated mode, the hero crouches with you, game sounds turn with your view, the map in the hand at any window size |
| 0.175 | A fast graphics mode for weaker cards, hit-by-touch capsules for spears and katars, thrusts with per-weapon speed and acceleration, eyes-by-turns rendering after d2r-pcvr v0.3.24, and a Battle.net copy that starts from Settings |
Note the rhythm: renders, then hands, then packaging, then accessibility. The 0.172 first-start guide inside the headset for new players and the 0.175 fast mode for weaker cards both show a project that has started onboarding its users.
A fork that taught the parent
The thanks section is unusual and deserves repeating. bearstonem's d2r-pcvr is an MIT fork of D2R VR, and the parent credits it with real engineering findings, not screenshots: where to hook in the game, the extra menu panels, the spell resolver and its call sites. In 0.165 the parent absorbed reading controllers directly, the skill wheel, weapon swap over the shoulder, item tooltips at once, controller vibration and the T-pose measurement, following what the fork found. In 0.167, it took the fork's turn settings, layout for the Steam Frame headset, vibration channels and menus that follow the VR render size.
Our take: this is the healthiest fork dynamic on record here. The fork solved interface problems first, the parent pulled the findings upstream with attribution, and both stayed MIT so the code could flow without renegotiation. The original free-camera idea is also credited, to emmericp's D2R-3D, which the mod says it contains none of the code of.
The source does not build as it is
The README closes with a section most projects would hide: the source does not build as it is yet. The plugin draws gesture runes that BodyWalk scores, and the code for that uses a section of BodyWalk's Game Link header named VrRunes, which the released SDK header in external/bodywalk/ does not contain, so the build stops with undeclared-identifier errors.
The workaround is documented: build against a game_link.h that includes the VrRunes section and hand the folder to CMake with -DBODYWALK_SDK_INCLUDE. The README says the section only adds to the header, and that a future release will make the tree build as it is.
It is a small governance point with a real payoff. Publishing the failure mode, the exact compiler errors, and the workaround in the README turns a mystery to anyone cloning the tree into a five-minute fix, and it dates a dependency mismatch precisely instead of leaving people to bisect versions.
Offline only, and why that line matters
The README's warning is unambiguous: offline single-player only, because injecting code into the game online can get the account banned, and the project is not made, endorsed or supported by Blizzard Entertainment.
Our take: that warning is correct and everyone should treat it as load-bearing. A D2RLoader plugin is exactly the category of modification the warning describes, and the account ban is the documented risk. Follow the project's setup instructions and, for anything the README leaves unclear, ask in the project's Discord rather than guessing. No one should test a modified client against the online service to find out where the boundary sits.
There is a second, milder risk to name. The installer comes from the project's own site, not from GitHub releases, and the README says it sets up everything, including a free BodyWalk Lite for anyone without BodyWalk. Anyone planning to install it should use the download link in the project's own README, not a mirror, and keep the checksum habit if they have one.
FAQ
Does D2R VR work with Blizzard's own client?
It works on Diablo II: Resurrected build 3.3.93787 under D2RLoader 1.3.1, with ReShade and the Generic Depth add-on. It is an offline single-player mod, and it is not endorsed by Blizzard.
Can I take the mod online?
No. The README warns that injecting code into the game online can get the account banned. Treat the mod as strictly offline software.
Is it in first person or top-down?
Both. There are four views: a true 3D top view, a free camera behind the hero, a mixed-reality diorama on the floor, and a full first-person mode where your own arms and weapons are the hero's.
Which headsets does it support?
BodyWalk 1.78 or later with FlatVR and its Game Link plugin, which Setup installs, or native OpenXR with the Controls without BodyWalk prototype for headsets that need no BodyWalk. Calibration records eye height and arm span, with hands at a 1:1 controller ratio.
What if the client updates?
Other game builds need their addresses checked, and the plugin logs that fact. The installer pins the supported build instead of covering every client.
Is it free and open source?
The code is MIT on GitHub and the README promises no paywalls or exclusive builds, with a Patreon for those who want to support development. The licence does not cover the name D2R VR, nor BodyWalk, which is a separate product.
Bottom Line
Diablo II: Resurrected already allowed mods, D2R VR's README credits an earlier VR mod alongside its own, and the option that treats first person as the destination rather than the demo is this one. The controls reveal how much a Blizzard client can change without touching a single game file: swings pick their own targets, weapons have weight, thrusts are hits with their own physics, and two real hands can drive a Barbarian's signature skill.
The honest limitations are on the page: the tree does not build without a bodywalk header workaround, the mod is pinned to one client build, none of it is endorsed by Blizzard, and the rest of the VR stack is a dependency chain of other people's tools. If you want to try it, use the installer link from the project's own README, keep the game disconnected from Battle.net every time, and do not risk the account you care about. If you want to build it, follow the VrRunes section of the README and give CMake a corrected SDK header. Both paths are documented, which is more than most load-bearing mods manage.
Sources
- D2R VR repository README and changelog summary, natpoh/diablo2-vr-port, accessed 23 October 2026
- GitHub repository metadata for natpoh/diablo2-vr-port, accessed 23 October 2026
- BodyWalkVR download and mod pages linked from the README, accessed 23 October 2026
Related: WoWVR: SteamVR Comes To 3.3.5a Without Touching Disk | Swing, Draw, Heal: Vanilla WoW Gets A Full Body VR Client | EDVR 0.20.0: Elite Dangerous VR Gets XeSS, Seat Memory and One Installer