WoWVR: SteamVR Comes To 3.3.5a Without Touching Disk
By Indie Kings | October 15, 2026
Updated October 15, 2026: WoWVR adds SteamVR headset viewing to a legal 3.3.5a build 12340 client, aimed at the Valve Index, per the official repository README. The world renders in stereo around the player while the headset drives the view, and movement plus targeting stay on mouse and keyboard with no motion controller input.
WoWVR is a community headset project for an older World of Warcraft client, and its scope is narrow in a useful way. It does not remake the game for virtual reality. It keeps the game intact and changes how the picture reaches the player, per the official repository README. That distinction matters because it explains nearly every design choice in the project, from the curved interface sheet to the comfort vignette to the proxy file design.
This article describes what WoWVR is, how it works, and which commands and options it exposes. It is descriptive only. It does not direct installation or play, and it assumes the reader already owns a legal copy of the matching 3.3.5a client. The only external reference in this article is the Sources link at the end. Names such as Blizzard, Valve, and SteamVR appear here as plain prose for identification, without hyperlinks.
Image: WoWVR repository card. Credit: GitHub, NathanHandley.
What WoWVR Is
WoWVR is SteamVR support for a 3.3.5a client at build 12340, aimed at the Valve Index, per the official repository README. The version target is exact. The README names 3.3.5a and build 12340, so this is not a general modern client addon and not a flexible version bridge. It is a project for one client generation, and readers should treat that version match as load bearing.
The core promise is simple to state. The world is rendered stereoscopically around the player, and the headset drives the view, per the official repository README. In plain terms, each eye receives its own picture of the same 3D world, which creates depth, while head movement changes the camera direction. Looking around becomes a physical act. Play itself remains familiar because movement, targeting, and everything else stay on mouse and keyboard.
The exclusion of motion controller input is explicit, per the official repository README. There is no motion controller input. That choice keeps the project honest about what it is. WoWVR is a headset viewing layer over a mouse and keyboard game, not a motion control conversion. Players who expect hand tracked spell aiming or room scale combat will not find it here. Players who want to look around Azeroth with head tracking while keeping classic controls will understand the appeal at once.
The client scope carries a legal and practical point. The article scope assumes the reader supplies their own legal 3.3.5a client. WoWVR does not replace the need for game files, and this article contains no client binary and no client download path. The README describes a proxy file that the client loads from its own folder, which only makes sense when the matching client is already present and already lawful to use.
The headset aim is also stated plainly. The project is aimed at the Valve Index, per the official repository README. SteamVR is the platform layer, and Valve is the headset maker named in that aim. That does not prove exclusivity to one headset in every setup, but it does tell readers where the author focused testing and intent. Index owners are the primary audience described by the source.
WoWVR therefore belongs in a small category of classic game viewing mods. It preserves input, preserves game logic, and changes presentation. The rest of this article traces how that presentation works, starting with the proxy design and continuing through the interface sheet, the mouse model, and the comfort controls.
How It Works
WoWVR works as a proxy d3d9.dll file that the client loads out of its own folder, per the official repository README. Nothing in the client is patched on disk. That sentence describes the whole installation philosophy. The client keeps its files unchanged, while one added file in the client folder intercepts graphics calls and adds stereo presentation plus headset tracking.
A proxy graphics library sits between the game and the system graphics layer. When the client asks for Direct3D 9 work, the proxy receives the request first and can shape the result for the headset. The README does not ask readers to edit executables or alter game archives. Removal is symmetric with installation. To remove WoWVR, delete d3d9.dll from the client folder, and the client reverts to stock, per the official repository README.
The visual model has three parts: stereo world, head driven view, and a spatially placed interface. The world surrounds the player in stereo. The headset controls the view direction. The game interface is lifted out of the eye buffer and hung in space on a curved sheet that stays where it is placed, per the official repository README. That curved sheet is the key to usability. A flat interface pasted on each eye would feel glued to the face. A sheet fixed in space feels like a panel floating in the world, which lets the player look at the world and then glance at the panel.
Mouse behavior is rebuilt around that sheet. The mouse points into the world from the head through the sheet, per the official repository README. Picture a ray that starts at the head, passes through the cursor position on the curved panel, and continues into the 3D scene. That model keeps clicking coherent when the interface floats in space. Nameplates follow the same head relative logic. They sit where the head sees the creature through the sheet, per the official repository README. The result is that labels stay attached to their creatures from the viewpoint of the head, rather than sliding to fixed screen spots.
The following table summarizes the moving parts, per the official repository README. Each row pairs one mechanism with its plain meaning for a player.
| Mechanism | What It Means In Play | Standing Per README |
|---|---|---|
| Stereoscopic world rendering | The 3D world appears around the player with depth from separate eye views | Per README |
| Headset driven view | Head movement steers the camera view while mouse and keyboard keep control of play | Per README |
| Mouse and keyboard input only | Movement and targeting stay on classic controls with no motion controller input | Per README |
| Curved interface sheet | The game UI is lifted from the eye buffer and hung in space where placed | Per README |
| Head through sheet mouse model | The cursor points into the world along a path from the head through the sheet | Per README |
| Head seen nameplate positions | Nameplates sit where the head sees each creature through the sheet | Per README |
| Proxy d3d9.dll in client folder | The client loads the file from its own folder with no on disk client patch | Per README |
| Valve Index aim over SteamVR | SteamVR support is aimed at the Valve Index as the reference headset | Per README |
The table above is intentionally conservative. It repeats only what the source states, because graphics interception projects attract speculation about hidden features. There are no hidden features claimed here. There is a stereo world, a head driven camera, a curved panel, a head relative mouse ray, and a single proxy file.
One practical consequence follows from the proxy design. Because nothing is patched on disk, troubleshooting has a clean baseline. If the proxy file is present, headset behavior is active. If it is removed, the client is stock. That separation is valuable for a project tied to one exact build, since version drift is a common failure mode for old client mods.
Commands And Options
WoWVR keeps the mouse inside the game window while the window has focus, per the official repository README. The option is named ConfineCursor under the Panel section, and its default behavior prevents stray clicks from landing on the desktop. Alt tab releases the cursor. That detail matters for headset play, where the player cannot see the desktop and an escaped cursor could cause confusion.
Command discovery has its own shortcut. Alt plus Ctrl plus F1 shows or hides a list of all WoWVR commands, per the official repository README. A reminder appears in the corner for the first 10 seconds. The Panel option LaunchHintSeconds changes that duration, and zero turns the hint off. The design shows restraint. Help is available on demand, visible briefly at launch, and then out of the way.
Comfort controls address view motion that does not come from the head. Alt plus Ctrl plus V turns the comfort vignette on or off, while Alt plus Ctrl plus N cycles its size through Small, Medium, and Large, per the official repository README. The vignette darkens the edges of the view while the view moves without head motion, including walking, turning, dragging the camera, and zooming. The setting is saved to the Comfort section in WoWVR.ini. In plain terms, the screen edges dim during artificial motion, which many headset users associate with reduced discomfort.
Recentering is split into two related commands. Alt plus Ctrl plus F11 recenters the view and puts the interface back in front of the player, per the official repository README. Alt plus Ctrl plus F8 recenters only the interface, turning it to face the current gaze direction on the left and right axis with its middle at eye height. The distinction is practical. Full recentering resets the viewing frame. Interface only recentering leaves the world view alone and fixes a drifted or side placed panel.
Interface distance is adjustable in steps. Alt plus Ctrl plus Page Up pushes the interface farther away, while Alt plus Ctrl plus Page Down pulls it closer, per the official repository README. Holding the keys keeps the panel moving. The distance is saved to WoWVR.ini. This is not a zoom of interface scale. It is a change of panel depth in space, which affects readability and how much world remains visible around the panel.
The INI options extend the same ideas into persistent settings. Panel CanvasScale widens the interface canvas, Panel Nameplates3D moves lifebars into world depth, Panel InterfaceResolution sharpens the interface through a higher render resolution, and Panel LaunchHintSeconds controls the launch hint, per the official repository README. The next sections explain each in context.
The table below collects the commands and options in one place, per the official repository README. It is the second required table for this article.
| Command Or Option | Action | Standing Per README |
|---|---|---|
| Panel ConfineCursor | Keeps the mouse inside the game window while focused, Alt tab releases it | Per README |
| Alt plus Ctrl plus F1 | Shows or hides the list of all WoWVR commands | Per README |
| Panel LaunchHintSeconds | Sets corner reminder duration for the first seconds, zero turns it off | Per README |
| Alt plus Ctrl plus V | Turns the comfort vignette on or off, saved to Comfort in WoWVR.ini | Per README |
| Alt plus Ctrl plus N | Cycles vignette size through Small, Medium, and Large | Per README |
| Alt plus Ctrl plus F11 | Recenters the view and puts the interface back in front of the player | Per README |
| Alt plus Ctrl plus F8 | Recenters only the interface to face gaze left and right at eye height | Per README |
| Alt plus Ctrl plus Page Up and Page Down | Pushes the interface farther or pulls it closer, hold to keep moving, saved to WoWVR.ini | Per README |
| Panel CanvasScale | Scales the interface canvas, twice as wide and tall in the world section example | Per README |
| Panel Nameplates3D | Draws lifebars over each unit in the world at its own distance | Per README |
| Panel InterfaceResolution | Runs the game at a higher resolution for a sharper interface, 0x0 leaves it to the game | Per README |
Two notes keep this table honest. First, key names use words rather than symbols so screen readers and text search handle them cleanly. Second, every row is attributed to the README because the README is the only source used for command behavior. No behavior here comes from forum lore or secondhand setup guides.
Interface In Space
The interface canvas deserves a longer explanation because it is the strangest part of WoWVR for flat screen players. In the world, the interface sits on a canvas twice as wide and tall as the screen in the documented example, per the official repository README. The Panel option CanvasScale controls this, where 1 means off. Everything stays where it was and at the size it was, with room around it for the mouse, dragged frames, lifebars, and chat bubbles.
That extra room is functional, not decorative. A curved panel that exactly matches the old screen would clip dragged windows and leave no travel space for the cursor ray. A larger canvas gives the mouse somewhere to go and gives the game somewhere to draw interface elements that were designed for screen edges. The README example of twice as wide and tall should be read as an example canvas, not as a claim that every user must use that exact scale.
Lifebars receive special handling. The V key lifebars are drawn over each unit in the world at its own distance rather than on the interface when Panel Nameplates3D is on, per the official repository README. While that mode is on, CanvasScale is at least 1.25. The lifebars cannot be clicked to target. That last limit is important. A world placed health bar looks clickable, but the README says it is not a targeting path. Targeting stays on classic mouse and keyboard behavior through the normal game rules.
Interface sharpness is handled through resolution rather than panel scaling. For a sharper interface, the game can run at a resolution the monitor cannot show, per the official repository README. The documented example pairs Panel InterfaceResolution of 3200x1800 with a matching resolution setting in WTF Config.wtf. The interface keeps its size in the headset and receives the extra pixels. The desktop window is shrunk to fit the screen and shows a scaled copy. The default of 0x0 leaves resolution to the game. In plain terms, spare render pixels go to panel clarity, while the desktop mirror stays small enough to remain useful.
The interface placement model therefore has three independent ideas: canvas size, panel depth, and render resolution. Canvas size controls how much sheet surrounds the familiar layout. Panel depth controls how near or far that sheet floats. Render resolution controls how crisp the sheet looks. Each has a separate control, so a player can tune readability without moving the panel and can move the panel without changing sharpness.
This separation also explains why two recenter commands exist. Depth and facing can drift from comfort during long sessions, especially when the player turns in a chair or shifts posture. Full recentering restores both view and panel. Interface only recentering restores facing without disturbing the world camera. Both are reversible by simply issuing another adjustment, and distance persists in WoWVR.ini once set.
Floating Text And Chat Bubbles
Combat feedback and social cues are moved into world depth alongside lifebars. Floating combat text for heals, damage taken, and buffs gained rises over the player character in the world instead of climbing the middle of the interface when Panel FloatingText3D is on, per the official repository README. It uses FloatingTextHeight in yards above the feet and FloatingTextSize in metres. The units are worth noticing. Height is measured in game yards from the character base, while glyph size is measured in metres, which reflects the mixed conventions of the underlying game and the headset space.
Outgoing numbers receive the same treatment. The numbers over creatures as the player hits or heals them are drawn over each creature in the world when Panel WorldText3D is on, per the official repository README. The benefit is positional. Damage appears where it happened, rather than in a central scrolling column detached from the target. For a headset viewer, that placement reduces the need to look away from the fight to read feedback.
Chat bubbles also stand over whoever is speaking when Panel ChatBubbles3D is on, per the official repository README. That choice preserves social awareness in towns and groups. A speaker can be located by glancing at the bubble above them, which is closer to how attention works in a shared 3D space than reading a chat box line and then searching for the name.
Taken together, these three text systems move information from panel space to world space. The panel keeps the durable interface: action bars, frames, maps, bags, and menus. The world carries the transient events: hits, heals, buffs, and speech. The division is legible in play. Stable controls stay where muscle memory expects them, while passing events appear where the eyes already look.
The README does not promise that every addon or custom interface element follows the same path. Readers should treat the documented behavior as applying to the named systems: floating combat text, creature hit numbers, lifebars, and chat bubbles. Anything beyond those named systems would be speculation, so this article claims nothing about third party interface mods.
Configuration And Client Folder Design
WoWVR.ini is created next to the DLL on first run with many config options that carry comments, per the official repository README. That single sentence tells much about the intended workflow. Settings live beside the proxy file, they appear automatically on first launch, and they explain themselves inline. A curious reader can inspect the generated file and learn the available settings without hunting through external docs.
The client folder design is equally deliberate. The DLL must be 32 bit because the client is 32 bit, per the official repository README. The build notes make the Win32 flag mandatory rather than optional, which follows from the same constraint. A 64 bit proxy cannot load into a 32 bit process, so architecture match is not a preference. It is a load condition.
The build requirements are stated for source builders: Visual Studio 2022 with the C plus plus workload and CMake, per the official repository README. The openvr third party headers and libraries are part of that build picture. This article describes those requirements without directing the build step by step, because the assigned scope is description rather than instruction. Readers who want the exact commands will find them in the repository linked under Sources.
Removal stays simple by design. Deleting d3d9.dll from the client folder returns the client to stock, per the official repository README. No uninstaller is described and none is needed under this model. The absence of on disk patching means there is no modified executable to restore and no archive to repair. That reversibility is a trust feature for players who care about the integrity of an old client install.
Configuration persistence appears in several places. Vignette state saves to the Comfort section. Interface distance saves to WoWVR.ini. The launch hint duration is configurable. Taken together, the project behaves like a small appliance: set comfort and panel placement once, then play. The INI file becomes the memory of those choices across sessions.
A final scope reminder belongs here. None of this removes the need for a lawful matching client. The proxy model assumes the game files are already present and already legitimate. This article provides no game files, no client binary, and no alternate source for them. The Sources section contains only the code repository reference.
Status And Limits
Both first person and third person perspectives are supported, per the official repository README. That support matters because the two views imply different cameras. First person places the eyes at the character viewpoint. Third person places the camera behind and often above the character. Supporting both means the stereo and head tracking work must handle near camera geometry as well as over the shoulder framing.
The input limit is stated without hedging. There are no motion controls, and the comfort work beyond the vignette is described as next, per the official repository README. Readers should not confuse the comfort vignette with a full comfort system. The vignette is present and documented. Broader comfort controls are future work in the source text, not present features.
The mouse model has its own stated limit. World placed lifebars cannot be clicked to target, per the official repository README. That constraint will surprise players who expect every visible health bar to accept clicks. The article repeats it here so expectations stay aligned: look at lifebars for information, use normal targeting paths for selection.
The version limit is equally firm. The README targets 3.3.5a build 12340. Readers should not assume neighboring builds work. Old clients often differ in graphics paths and interface behavior, and a proxy tuned for one build may fail or misrender on another. Treat the build number as part of the requirement, not as trivia.
The credit line in the README is unusual and worth reporting accurately. It states that Claude Opus 5 and Fable wrote most of the code, with release under MIT, per the official repository README. That attribution describes authorship assistance and license in one breath. It does not change the technical facts above, but it completes the provenance picture for readers who care about how community code gets made.
The practical summary is therefore balanced. WoWVR offers stereo world viewing, head driven camera control, a curved space interface, world placed combat feedback, and a clean proxy file model. It withholds motion input, click to target lifebars, and broader comfort systems. That combination is coherent for a viewing layer over a classic mouse and keyboard game.
FAQ
What client does WoWVR support?
WoWVR supports a 3.3.5a client at build 12340, per the official repository README. Readers need their own legal copy of that matching client, and neighboring builds should not be assumed compatible.
Does WoWVR add motion controller input?
No. Movement, targeting, and everything else stay on mouse and keyboard, with no motion controller input, per the official repository README. The headset drives the view, while the hands stay on classic controls.
How does the interface work in the headset?
The game UI is lifted from the eye buffer and hung in space on a curved sheet that stays where placed, per the official repository README. The mouse points into the world from the head through that sheet, and nameplates sit where the head sees each creature through it.
What does the comfort vignette do?
It darkens the edges of the view during view motion without head motion, such as walking, turning, dragging the camera, and zooming, per the official repository README. Alt plus Ctrl plus V toggles it, Alt plus Ctrl plus N cycles Small, Medium, and Large, and the choice saves to the Comfort section in WoWVR.ini.
How is the view recentered?
Alt plus Ctrl plus F11 recenters the view and puts the interface back in front of the player, per the official repository README. Alt plus Ctrl plus F8 recenters only the interface to face the current gaze left and right at eye height.
How is WoWVR removed?
Delete d3d9.dll from the client folder and the client reverts to stock, per the official repository README. Nothing in the client is patched on disk, so no repair step is described.
Bottom Line
WoWVR is a focused headset viewing layer for one exact client generation: 3.3.5a build 12340, aimed at the Valve Index over SteamVR, per the official repository README. It renders the world in stereo, lets the headset drive the view, keeps all play on mouse and keyboard, hangs the UI on a curved space sheet, and ships as a proxy d3d9.dll with no on disk client patch. Comfort vignette, canvas scale, world placed text, and interface distance controls round out a coherent package for looking around a classic world with modern head tracking. Readers need their own legal matching client, and the repository link below is the only external reference for further reading.
Sources
Per the official repository README: WoWVR repository.