Skip to content
DisonomoussPublic

About

Red Dead Redemption VR Mod

Resources

Stars

101 stars

Watchers

2 watching

Forks

Repository files navigation

RDRVR: Red Dead Redemption in VR

A native-stereo VR mod for the PC port of Red Dead Redemption (2024). The game draws the scene once per eye from your headset's view, John's body and arms follow you, and the guns are held, aimed, holstered and reloaded with your hands.

Version 0.8.11 (an early public release). Tested with a Meta Quest 3 on Virtual Desktop; any PC headset with an OpenXR runtime should work (see Compatibility).

RDRVR is an unofficial fan project. It is not affiliated with or endorsed by Rockstar Games or Take-Two Interactive, and it contains no game files. The game sends its crash reports to Rockstar: a crash with the mod installed is reported too.

Features

VR view

  • True stereo: the scene drawn twice per frame, once per eye, with your headset's own field of view (asymmetric and canted displays included) and late-latched head and hand poses.
  • Per-eye fixes so both eyes see the same frame: grass, wind, lights, forest, exposure, rain and particles, god rays, wetness and blood, cloud shadows.
  • Culling, tree billboards and distant trees follow your head, and stay upright.
  • Faster in 0.8.0, both on by default and used in a Quest 3 over Virtual Desktop at 90 Hz ("performance is smooth"), the shared shadows switchable in the Advanced tab, the batches with [Render] PlaybackBatch in the ini (since 0.8.9):
    • the game's render thread hands its recorded work to its GPU thread in batches instead of one command at a time: about 2.5-3 ms less CPU a frame in the developer's tests (about a fifth of the stereo frame), the image unchanged;
    • the shadows (the sun's, the lamps' and the spot lights') drawn once a frame for both eyes instead of once per eye: about 0.9 ms less CPU a frame; the shadows' edges can move by a texel.
  • New in 0.8.4 (tried in the developer's simulator only, not yet in a headset): one-click Quality, Balanced and Performance presets in the Display tab (they set the eye shape, DLSS's quality, a cap on Automatic's resolution and, for Performance, a 72 Hz refresh rate); a headset refresh rate row where your VR runtime lets the mod choose it (the row says when it does not); and a note suggesting a lighter preset when the headset keeps missing frames. The mod's own work costs less on slower processors (about 1 ms a frame less on a simulated 4- or 8-core CPU, nothing measurable on a fast one; the image unchanged).
  • FXAA, the game's TAA or DLSS run per eye (DLSS with its own history per eye, falling back to one shared history if its setup fails, which RDRVR.log says; since 0.5.0 it is usable in the headset: its images were handed to the headset a few frames stale, two defects in what the game feeds DLSS are corrected, its jitter's length and units, and a hitch no longer drops the per-eye histories); the game's own colour and gamma.
  • Optional (new in 0.3.0, off by default, tried briefly in a Quest 3; the Display tab, under the anti-aliasing, with FXAA): each eye rendered in your headset's own shape and size, with square pixels, instead of the game's 16:9 frame stretched over it: fewer pixels drawn for the same sharpness. Restart the game after turning it on: the eye images take their size at the start. The same with DLSS (new in 0.7.0; off by default; since 0.8.0 tried in a Quest 3 over Virtual Desktop, where it looked as sharp and took about a quarter less GPU time at 3926 x 2208 with DLSS Quality): the eye-shaped image upscaled by DLSS into an eye-shaped output. Choose DLSS in the Display tab's Anti-aliasing, then tick "Eyes in the headset's shape with DLSS" under it (new in 0.8.0), from the next start. It applies only while DLSS runs per eye; if DLSS falls back to one shared history, the eyes get the game's frame (RDRVR.log's [eye] lines say which).
  • Optional (new in 0.4.0, off by default, tried briefly in a Quest 3; the Display tab, "Render resolution: headset" and "Render resolution: size", from the next start): the game's frame at your headset's height, apart from your monitor's modes and without DSR. Choose your headset, then its size: 100%, 150% or 200% of its pixels (new in 0.6.0, tried in the developer's simulator only; 15 headsets from the Valve Index to the Galaxy XR (new in 0.8.4), by their screens' heights; for example a Quest 3 at 3926 x 2208, 4808 x 2704 or 5550 x 3122). Or choose Automatic: the size your OpenXR runtime (SteamVR, Pimax Play, Virtual Desktop...) asks for, for its lenses, at those percentages; it is learned in a first session with that runtime (the game's own size until then), never below your own resolution. Keep the runtime's own resolution setting at its default (SteamVR's 100%): it multiplies with the mod's. A size of your own can be written in %LOCALAPPDATA%\RDRVR\RDRVR.user.ini, where the menu saves its choice ([Render] RenderResolution, a height or WxH, 16:9; the menu then shows it as Custom). In Windowed mode your window keeps its size (the frame is scaled into it). The game's Graphics menu shows the size, and graphicsOptions.xml keeps your own resolution. With "Eyes in the headset's shape" on, each eye is drawn at the size your headset asks for, at most this tall. Larger is sharper and costs more GPU time. A size too large for the graphics card's memory is greyed out in the menu; the row's "Now:" line says which size runs, or why not.
  • New in 0.8.5, on by default (used in a Quest 3 over Virtual Desktop): motion blur held off (the Display tab, "Motion blur" off; it smears the view as you turn your head). The game's settings file is not changed, and its Graphics menu still shows and saves your own setting. A switch for the desert's heat haze (the Display tab, "Heat haze", on as in the game; some find it uncomfortable in VR): off removes the shimmer.
  • Fixed in 0.8.5 (tried in the developer's simulator only): coming back from Undead Nightmare restarts the game, and that start ran at the game's own size instead of the "Render resolution" one, so the view was blurry. The size is now put back; RDRVR.log records each start's command line.
  • The HUD on a floating panel, or on your wrist like a watch (radar, meters, ammo shown when you look at it).
  • Automatic view modes: stereo in gameplay, a cinema screen for loading, menus and videos; cutscenes on the screen or in 3D.
  • New in 0.8.7, on by default (used in a Quest 3: skinning a deer stayed first person): a script's short scenes that showed John in third person (a mission's quick shots, looting and skinning, a chest, a bed, a door) stay at John's eyes; the game's own camera for the scene still runs behind it, so the scene plays on as made. The full cutscenes are unchanged (the screen or 3D; a cutscene's very first frame may still show from John's eyes). The Display tab, "Short scenes in first person". Not yet tried: looting, a mission's quick shots, a chest, a bed, a door.
  • New in 0.8.8, on by default (used in a Quest 3: "spatial audio is good"): the game's sound is heard from your head. It placed every sound for the way John's body faced, so turning your head moved nothing and you could not tell where things came from; now a voice comes to the front as you face it. And on headphones (any stereo device) the game dropped what it pans behind you to a third of its level, so people behind you sounded far away; that is now folded into your left and right ears at full level (the game's own slight quieting of sounds behind you is kept; a 5.1 or 7.1 device keeps the game's mix). In the ini, [XR] AudioFollowsHead and AudioRearFold (0 = as before).
  • Fixed in 0.8.8 (tried in the developer's simulator only, not yet in a headset): the gun in your hand could smear or trail behind your hand, mostly in fights. With DLSS or the game's TAA, its motion vectors (what carries the image from frame to frame) were the game's own move of its gun, its aim and its recoil, not your hand's. They are now taken from where the gun was drawn the frame before. In the ini, [Hands] GunMotionVectors (0 = as before).

Body

  • A first-person body (full, forearms and hands, or hands only), upright and facing your view, no head in the way.
  • Arms that follow the controllers (two-bone IK, stretching past John's reach), the eye height following crouching and riding.
  • A left-handed mode: a full mirror (the gun in John's left hand, the holsters and reloading mirrored).
  • New in 0.8.5, off by default (used in a Quest 3: "looks really good"; the Comfort tab, Torso: "Still"): a still body, the torso, hips and belt held still under your view, only the arms and legs moving. The belt and the holster on it stay with the body (they swung with the legs). Optional, in RDRVR.ini only ([Body] StillFeet=1, tried in the developer's simulator only): the feet kept where the game plants them, by a leg solve.
  • New in 0.8.5, on by default (used in a Quest 3): drawing a gun no longer lowers the view (the game's armed stance lowered the view by about 10 cm; [Body] ArmedStance=game in RDRVR.ini turns this off, no menu row). Since the same release, tried in the developer's simulator only: the view also keeps its height for a few seconds after putting a gun away, and in the fist-fight stance (they lowered it by 10 and 30 cm).

Guns

  • New in 0.8.1: every gun's aiming hold is built in (learned for all 21 guns in the developer's Quest 3 over Virtual Desktop; for the guns tried in the developer's simulator, the game's own aim there matches it within a fraction of a millimetre), and both "held by their aiming grip" settings are on by default (the Advanced tab since 0.8.9). A gun now sits in your hand the way the game aims it from its first draw, instead of only after you have aimed it once, and a sidearm moves with your hand at once instead of lagging when the game runs slowly. The holsters, the foregrip rings and the loading points are placed anew (in the same headset), and the holster rings, the hand dots and the weapon points are hidden by default (the Holsters tab shows them again). A place, size or switch you set yourself is kept: only the ones you never changed take the new defaults. The new defaults on a fresh install are tried in the developer's simulator only.
  • Fixed in 0.8.1 (from a player's log; the fixes tried in the developer's simulator): after a cutscene, the gun the game puts in your hands by itself went to the hand that drew last, and taking another gun then put it inside the first; such a gun now goes to your gun hand. Putting away the gun in hand while a second gun is out in the other hand makes the second your gun in hand (before, every holster refused that hand).
  • Fixed in 0.8.5 (used in a Quest 3): the holsters keep their places after riding and after cutscenes (they were placed again during the dismount, or from the cutscene's camera, once across the road); a fast swing of an empty hand on horseback no longer draws your last gun; the holstered guns no longer take a nearby person's gun of the same model onto your holster.
  • Shots leave the barrel of the gun in your hand; the right trigger alone fires; the gun stays drawn until you put it away.
  • An optional reticle where the shot will land (off by default: the Guns tab), a ring or a dot (new in 0.5.0). Since 0.8.3 it shows whenever a gun is in hand, in Dead Eye too, found by a line test along the barrel each game tick, and it turns red only while you aim and the game's target actor is under it (it could stay red before). Tried in the developer's simulator, not yet in a headset; turning red on a person not yet tried. Since 0.8.5 (used in a Quest 3) it follows the barrel every frame with your hand's tremor smoothed (it moved in steps a tick behind the hand), and with two guns each has its own reticle (the second one never turns red); fixed later in 0.8.5 (tried in the developer's simulator only): the second gun's reticle on that gun's own line of fire (it was off its aim).
  • Holsters you grab: both hips (sidearms), both sides of the back (long guns), the knife, the satchel (throwables), the lasso, the chest (rounds); a weapon chosen per holster; each holster movable and resizable. They follow John's body by default since 0.8.9 (or your headset, so they stay with you as you step, crouch and lean: the Holsters tab, "They follow").
  • Reloading by hand: take a round at your chest and bring it to the gun (or squeeze the gun at your chest).
  • Every gun's action worked by hand except the magazine pistols' (revolvers flicked open, levers, pumps, bolts, breeches, break-actions), with the game's own sounds on your movements; two-handed long guns; dual wielding (a second gun, or a copy of your sidearm); perfect accuracy (your shots only: other people's keep the game's spread); the guns shown at their holsters; throwing and punching by swinging, the lasso by its trigger where you look (since 0.8.7). All on by default, each can be switched off in the menu. Off by default: pushing and grabbing loose objects.
  • The holsters, the dots at your hands and the guns' points (the foregrip ring, the loading point, the action hints) each shown or hidden by its own switch (new in 0.6.0, tried in the developer's simulator; the Holsters tab).
  • New in 0.7.0, off by default (each in the Holsters tab, tried in the developer's simulator only): the holsters turn with your headset (with an adjustable dead zone, 0° by default so they follow every look; at 30 to 45° a glance aside leaves them), or by your head and hands together; steady when you lean forward or bend over; steady holster edges (no buzzing at a ring's edge); each ring shown only while a hand is near it; and placing the holsters by hand (grip a ring and move it). An experimental holster model at the hips ([Holsters] ShowModels, ini only) still looks like a strap.
  • New in 0.8.5, off by default (used in a Quest 3; the Holsters tab, "Any weapon in the gun holsters"; since 0.8.9 the gun holsters only): the hips' and the backs' holsters take any weapon you own. Put one away at a gun holster and it is drawn from there again. The knife's, the satchel's and the lasso's holsters keep their own items, the chest the rounds.
  • New in 0.8.5 (used in a Quest 3; the Holsters tab, under "Show the guns at their holsters"): each shown gun's angle and place at its holster, by arrows. Fixed in 0.8.5 (tried in the developer's simulator, from a player's description): turning toward a holster could show a second copy of its gun beside it, facing another way (the game's own holstered gun drawn apart from the mod's).
  • The holsters placed anew for 0.8.5 (in the developer's headset); a place or size you set yourself is kept.
  • New in 0.8.9 (used in the developer's Quest 3; the Holsters tab, "Customize John's belt", on by default with the developer's layout): John's own holster, knife sheath, satchel, lasso and rifle sling moved and turned where you put them, by arrows or by hand ("Placing by hand: Belt pieces and guns"), each drawn whole where you put it; a mirrored copy of his holster at the left hip for the secondary sidearm. Untick it for the game's own belt (your places are kept); "Reset the belt to the game's positions" puts every piece back. It replaces 0.8.8's belt of props, which is gone.
  • New in 0.8.9 (used in the developer's Quest 3): each holster's ring sits on its own piece of the belt (the right hip on the holster, the left hip on the mirrored one, both backs on the sling, the knife on the sheath, the satchel on the satchel, the lasso on the lasso; the ammo ring where you put it). "Rings stay on their holsters" (on) keeps a ring and its piece together: moving one moves the other the same way. "Reset the rings to their defaults" puts every ring back. Fixed (the same release): the left hip's and the left back's rings swayed with John's idle (mirrored through his root bone, which drifts against the body) and moved with the right hip's ring.
  • New in 0.8.9 (used in the developer's Quest 3): a holstered gun turned and moved by hand to sit in its holster ("Placing by hand: Belt pieces and guns", grip the gun), as its Gun's angle and place arrows do.
  • New in 0.8.9 (tried in the developer's simulator only): a Lasso holster on John's lasso, in place of the lower back's knife-and-lasso holster; the knife holster holds the knife only.
  • The foregrip ring held still on the gun (new in 0.6.0, tried in the developer's simulator, not yet in a headset): it followed the game's arm sway, so the off hand could grab the air beside the gun, worst on the Sawed-off (which now has a grip of its own).
  • No executions: the trigger fires at close range instead of starting John's third-person execution.
  • Changed in 0.8.7 (used in a Quest 3: "head aim and trigger work well"): the lasso is aimed where you look and thrown by the lasso hand's trigger (the game's aim held 0.3 s first, so it locks on). Other choices on the Gestures tab, under "Lasso by hand": thrown by a swing toward the aim (overhand, sidearm or straight; still hard to time) or either, aimed by the lasso hand (held still once the swing starts) or by the other controller (these three tried in the developer's simulator only).
  • New in 0.7.0, on by default (tried in the developer's simulator, not yet in a headset): the lasso held in your hands (the coil in the off hand, the loop in the gun hand; it floated in front of them before); with dual wielding, a second gun drawn from a back holster is that holster's gun (a sidearm in hand made every back holster give the same gun); each long gun's front hand in the game's aiming hold, its fingers too (the Guns tab, "The front hand's hold": aiming, lowered, or Automatic, the way 0.6.0 chose by the game's stance); a long gun held lowered no longer flips its front hand between holds (with Automatic).
  • New in 0.7.0, off by default (tried in the developer's simulator only): throwing by letting go of the grip (the Gestures tab, under "Throw by hand": grip to hold the throwable, the trigger to light or ready it, swing and let go; tried with dynamite and the throwing knife, the fire bottle and the tomahawk not yet); sidearms held by their aiming grip (the Advanced tab, "Sidearms held by their aiming grip", on by default since 0.8.1: for a revolver that lags the hand).
  • A whistle for your horse (new in 0.6.0, used in a headset; on by default since 0.7.0): your hand at your mouth and its trigger (the Gestures tab, "Whistle for the horse"; that trigger does nothing else there; the gun hand whistles only with no gun in it). New in 0.7.0 (tried in the developer's simulator only): the off hand whistles with a gun raised in the other: the game will not whistle while aiming, so the aim is let go for under a second first, and no shot fires meanwhile.
  • New in 0.6.0, off by default (tried in the developer's simulator, not yet in a headset): the game's weapon wheel instead of the holsters, a grip held opening it in front of your hand, the hand moved toward a weapon's picture and the grip let go to take it (the Holsters tab, "The weapon wheel").
  • New in 0.8.5, on by default (used in a Quest 3, in a fist fight): with your fists out, both hands raised before your face hold the game's block for as long as you hold them there (the Gestures tab, "Guard with both fists"). Fixed later in 0.8.5 (tried in the developer's simulator): when the game had put a gun away itself, the guard could draw that gun; it selects the fists first now. Changed in 0.8.6 (tried in the developer's simulator, not yet in a headset): the guard needs both triggers held too, so raising your fists alone no longer takes the fighting stance (which alarmed people nearby); the right trigger does not punch while guarding. GuardTriggers=0 under [Gestures] in your ini brings back the hands alone.
  • New in 0.3.0, off by default (each in the menu, most not yet tried in a headset): a gun-butt melee, the gun in your hand swung into someone landing the game's own melee blow where it meets them (knock-out damage, as a punch does; the Gestures tab, "Gun-butt melee"; tried in a headset with 0.5.0, where it hardly ever hit: it needed 3 m/s at the moment of contact. Since 0.6.0 a hit is judged by your swing's fastest moment, from 1.8 m/s (the "Hit speed" under it), the gun still moving into them where it meets them; the new rule tried in the developer's simulator only); shooting from right behind cover (the Guns tab, "Shoot past the arm block"); jumping, and so vaulting and climbing, with a gun raised (the Controls tab, "Jumping lowers the raised gun"); the gun hand kept at each long gun's aiming grip in every pose (the Advanced tab, "Long guns held by their aiming grip").

Controls and comfort

  • The controllers drive the game's gamepad (every button remappable), with the game's rumble on the controllers.
  • Smooth or snap turning; on a horse, steering by the stick or by your view, the left stick click brakes. New in 0.7.0, on by default (used in a headset since 0.8.0): with stick steering the right stick turns the view on horseback too, while the left stick steers the horse (the Comfort tab, under "Steer with the stick"). Since 0.8.0 the holsters turn with your view as you do (before, they kept facing the horse); recentring faces them back. New in 0.8.5, on by default (used in a Quest 3): driving a wagon or a coach, the view's heading follows it as it follows a horse ([Horse] VehicleHeading=0 in RDRVR.ini turns it off, no menu row).
  • The game's own menus by the controllers (new in 0.7.0, on by default, tried in the developer's simulator only, not yet in a headset; [Controls] MenuControls in RDRVR.ini, no menu row): in the satchel and shops the triggers change tabs; in the satchel, the pause menu and shops the left stick moves one item a push. Fixed in 0.8.2: the pause menu's map keeps the game's own controls (the left stick moves the map, LT and RT zoom); since 0.7.0 it did not respond to them (tried in the developer's simulator).
  • Shops in first person (new in 0.7.0, on by default; tried at a shop in the developer's simulator, not yet in a headset; [Body] KeepAnchorCamera in RDRVR.ini, no menu row): talking to a shopkeeper no longer takes the view to third person. Fixed in 0.8.4: only a shop's camera is taken back now; any other script's camera (a mission's scene) is left to it until it lets go, then first person returns. Before, the mod took the camera back from a mission's scene that took it once, so the scene could stop before it began, with no control of John (seen in two players' logs; 0.8.1's fix covered only a script that kept taking it). The fix is tried in the developer's simulator with a stand-in script camera and at a shop, not yet in that mission. If one looks wrong, set KeepAnchorCamera=0 and please report it. Fixed in 0.8.5 (tried in the developer's simulator only, where it did not happen): leaving a shop could leave the view in third person; for 10 seconds after a shop's menu closes, first person is taken back too. RDRVR.log notes the shop's menu opening and closing.
  • An in-headset menu (laser and trigger) with every setting, grouped under headings with a help line for the row under the laser; the tabs are a row of buttons, and each tab's page scrolls with your gun hand's stick (the laser on the page); adjustments by arrows, one step a press. Cleaned up in 0.8.9 (used in the developer's Quest 3): nine tabs instead of thirteen, each setting where you would look for it, shorter plain tips, "(restart)" on the rows that need one, and the switches whose off side only brought back a fixed problem moved to the ini (see the Menu guide).
  • New in 0.8.9: this release starts every player from its defaults once (the developer's own settings, without the picture settings that depend on your graphics card and headset, the weapon choices or the buttons). Your old settings are kept as RDRVR.user.ini.before-0.8.9.bak (see Installation).
  • Fixed in 0.8.9 (tried in the developer's simulator, with a stand-in for the game's restart): going back to the game's main menu (the game restarts itself) crashed; the render size was not handed to the restarted game. A size the mod once marked as risky after an early quit is no longer blocked: every render resolution can be chosen.
  • Fixed in 0.8.9 (used in the developer's Quest 3): on horseback, John's body and holsters stay under you at a gallop (they slid about 45 cm back; [Horse] BodyWithCamera, on).
  • Fixed in 0.8.10 (tried in the developer's simulator): in fist fights, other men's hats popped in and out of view (a hat near John's head was taken for his own and hidden); John's own hat could also show briefly after a mounted gun.
  • Fixed in 0.8.10 (used in the developer's Quest 3): on a mounted gun (the Gatling, the Browning, the cannon) John and the gun spun around with no way to stop. The game's own camera and aim now take over while you use one.
  • New in 0.8.10, experimental and off (tried in the developer's simulator only, which cannot put John behind a mounted gun): Mounted guns in first person (the Guns tab) keeps first person on a mounted gun and turns the gun toward where your gun hand points (it learns the gun's barrel from your first shot). While it is on, the right stick no longer turns the gun: if the gun does not follow your hand, turn it off.
  • New in 0.8.10 (tried in the developer's simulator only): World scale (the Comfort tab), how big the world looks.
  • Fixed in 0.8.11 (used in the developer's Quest 3): a gun drawn outside and then taken indoors shimmered when held still and jittered when moved (one of its draws took your hand's place from the frame before; [Hands] StaleGunFix, on).
  • New in 0.8.11 (tried in the developer's simulator): Fists on both triggers (the Gestures tab, on). With nothing in your hands, hold both triggers for the fighting stance and swing a fist to punch while holding them (whatever "Melee by swing" says); raise both fists before your face to block. A trigger alone does nothing. If something in the game waits for a single trigger with nothing in your hands and does not respond, turn this off.

Requirements

  • Red Dead Redemption for PC (the 2024 port), from Steam or the Rockstar Games Launcher.
  • RedHook v0.8 by K3rhos: https://www.nexusmods.com/reddeadredemption/mods/192. RDRVR's gameplay plugin runs in it; RedHook is not included here.
  • A PC VR headset and its OpenXR runtime set as the active one (SteamVR, Meta Quest Link, Virtual Desktop, WMR, ...).
  • Windows 10 or 11, a DirectX 12 GPU with headroom for drawing the game twice per frame.

Installation

  1. Install RedHook into the game folder (its own instructions). In its RedHook.ini set:
    [DirectXHook]
    Disabled=true
    RDRVR draws and presents the frame itself; RedHook's DirectX hook gets in its way.
  2. Download RDRVR-0.8.11.zip from the Releases page, unzip it, and run Install.cmd. It finds the game through Steam (or asks for the folder; or Install.cmd -GameDir "<the game folder>"), backs up anything it would replace, and never changes a game file. Its window stays open until you press a key (since 0.8.0): if it stops on an error, the text says why, and %TEMP%\RDRVR_install.log has everything it printed (attach that file to an issue if you need help). It changes nothing if a file it would replace is in use (the game, its crash reporter or a virus scan): close it and run the installer again.
  3. Start your headset's runtime, then the game.

To uninstall, run RDRVR_Uninstall.cmd in the game folder (your settings stay in %LOCALAPPDATA%\RDRVR).

Upgrading from 0.8.9: your settings are kept. From an older version: your settings are reset to the new defaults once. On the first start your old settings file is renamed to %LOCALAPPDATA%\RDRVR\RDRVR.user.ini.before-0.8.9.bak (or .1.bak and so on if that name is taken; nothing is deleted) and a fresh one is begun, so settings carried over from early versions no longer get in the way. To bring an old value back, copy its line from the .bak file into RDRVR.user.ini, or set it again in the menu.

Using it

  • Recentre: your headset's own recentre, Scroll Lock with the game in front, or both stick clicks held a second.
  • The mod's menu: hold the menu button, or (with the wrist HUD) turn your palm flat to look at the HUD and hold Y, or press F7 on the keyboard. Point with the laser, click with the trigger.
  • The game's buttons: the controllers act as the game's pad: sticks, A/B/X/Y, grips (LB/RB), triggers (LT/RT). Tapping the menu button is Start; with it held, the right stick is the D-pad and A is Back (John's satchel: his items). With the wrist HUD, "A double tap of Y at the wrist opens the satchel" (new in 0.7.0, off by default, tried in the developer's simulator only; the Display tab, under "HUD on the left wrist") lets two quick presses of Y open it; a single press still reaches the game as Y, about a third of a second late.
  • Guns: grab a holster with the grip to draw; let go at a holster to put the gun away. Reload by taking a round at your chest (grip there) and bringing it to the gun's loading point.
  • Settings: everything is in the menu's tabs. Your changes are saved in %LOCALAPPDATA%\RDRVR\RDRVR.user.ini, which wins over the shipped RDRVR.ini (every key there is commented). The Menu guide below lists every tab and setting.

Menu guide

To open the mod's menu, hold the menu button. If your controller has no menu button, hold both B buttons. You can also turn your palm down to look at the wrist HUD and hold Y, or press F7 on the keyboard. Point the laser and click with the trigger. The tabs are the row of buttons at the top, the gun hand's stick scrolls the page, the arrows change a value by one step per press, and the help line at the bottom explains the row under the laser. Each change is saved to %LOCALAPPDATA%\RDRVR\RDRVR.user.ini right away, except rows marked "this session". Rows marked "(restart)" in the menu need a game restart; rows marked "(experimental)" are not yet confirmed in a headset.

Since 0.8.9 the menu has nine tabs (it had thirteen). A few switches whose off side only brings back a known problem (test aids, the rendering fixes, the stereo passes, the batched hand-off, the rigid belt pieces, the body kept with the view on horseback, the gun-butt melee's dry run) are no longer in the menu; their ini keys still work.

Display

The picture, the resolution the game renders at for your headset, performance, the HUD, cutscenes and sound.

Setting What it does Default
Anti-aliasing Off, FXAA, Native TAA or DLSS (DLAA). DLSS turns on or off after a restart; the others switch at once. FXAA
↳ DLSS quality (restart) How many pixels DLSS renders before it upscales: DLAA (sharpest, most demanding), Dynamic, Ultra performance, Performance, Balanced, Quality. DLAA (native resolution)
↳ Eyes in the headset's shape Draws each eye in your headset's own shape with square pixels, so fewer pixels are drawn for the same sharpness (FXAA only, takes full effect after a restart). Off
↳ Eyes in the headset's shape with DLSS (restart; new in 0.8.0) The same with DLSS: each eye rendered smaller in your headset's shape and upscaled by DLSS into an eye-shaped image. Off
Motion blur (new in 0.8.5; was "No motion blur" before 0.8.9) The game's motion blur, which smears the view as you turn your head. On: the game's own graphics setting decides. The game's settings file is not changed. Off
Heat haze (new in 0.8.5) The desert's heat shimmer. Off
Render resolution: headset (restart) The game's frame size: your headset's screen height, Automatic (the size your VR runtime asks for), or the game's own size. The game's own (its Graphics menu)
↳ Render resolution: size (restart) 100%, 150% or 200% of the chosen headset's pixels, still 16:9. 100% once a headset or Automatic is chosen
Now: ... Shows the size the game is running at now, or why it uses its own size. –
Preset: Quality / Balanced / Performance (new in 0.8.4) One click sets the eye shape, DLSS's quality, Automatic's cap, the eye scale ([XR] EyeScale), the shared shadows and the refresh rate. Quality: DLSS at DLAA, Automatic at your runtime's full size. Balanced: DLSS Quality, Automatic at most 2880 pixels tall. Performance: DLSS Performance (without DLSS, the eyes at 0.85 of the size), at most 2208 tall, 72 Hz where your headset offers it. The eye shape, DLSS and the resolution apply after a restart, the refresh rate at once. A note suggests Balanced or Performance when gameplay keeps missing frames. None chosen
Headset refresh rate (new in 0.8.4) Your headset's refresh rates, where your VR runtime lets the mod choose (otherwise the row says to set it in your headset's or runtime's own settings). A frame that misses the rate drops the runtime to half the rate; 72 or 80 holds steadier on a slower PC. Your runtime's
HUD on the left wrist Puts the radar and ammo counter on the back of your off hand like a watch: turn the palm down and look at it to see them (prompts stay on the floating screen). On
↳ A double tap of Y at the wrist opens the satchel (new in 0.7.0) With the wrist HUD in view, two quick presses of Y open John's satchel and B closes it. A single press still reaches the game as Y, about a third of a second late. On
Cutscenes: On the cinema screen / In 3D Cutscenes on a floating 16:9 screen, or in 3D around you from the cutscene camera with your head's turning added (you can switch mid-cutscene). In 3D
↳ 3D separation The cutscenes' 3D depth as a fraction of your eye distance (1.00 = your own; lower is flatter). 1.00
Short scenes in first person (new in 0.8.7) A script's short scenes that show John in third person (a mission's quick shots, looting and skinning, chests, beds, doors) stay at John's eyes. Not the full cutscenes. On
Sound follows your head (new in 0.8.8; in the menu since 0.8.9) Sounds are placed around your head as you turn it. Off: around the way John faces. On
Sounds behind you at full volume (new in 0.8.8; in the menu since 0.8.9) On stereo headphones the game plays sounds behind you about 10 dB quieter, so people behind you seem far away; on, they are as loud as in front. 5.1 and 7.1 devices keep the game's mix. On

With Automatic, leave your runtime's own resolution setting at its default (100% in SteamVR), because it multiplies with the size you choose here. A "Restart the game to apply" note appears whenever your choice differs from what is running.

Comfort

How you see and move: the first-person view, stick turning and riding.

Setting What it does Default
Recentre Puts the view, John's facing, the cinema screen and the HUD back in front of you. – (button)
First person The view from John's eyes, moved by your head. Off gives the game's own camera turned by your head. On
Eye height Raises or lowers your view, 1 cm per press (-0.20 to +0.30 m). +0.09 m
World scale (new in 0.8.10) How big the world looks: above 1 bigger (you feel smaller), below 1 smaller, 0.05 per press (0.50 to 2.00). Your eyes, head movement and hands are scaled; the game's world, aiming and holsters are not. 1.00
Smooth turning / Snap turning How the right stick turns you. Smooth turning
↳ Turn speed Smooth turning speed with the stick pushed all the way, 10°/s per press (30 to 360). 90°/s
↳ Snap angle The size of each snap turn, 5° per press (10 to 90). 30°
Riding: Steer with the stick / Steer with the head With the stick, the view faces the horse and the left stick steers while you look around freely; with the head, the left stick rides where you look. Steer with the stick
↳ The right stick turns the view while riding (new in 0.7.0) The right stick turns your view on horseback while the left stick still steers; mounting or recentring faces the horse again. On
View from the saddle A steady view above the saddle, so the gallop's bounce stays out of it. On
↳ Keep its height on climbs Stops the saddle view sinking toward the saddle on a steep climb. On
↳ Saddle smoothing How much the saddle view's height is smoothed, 0.05 s per press (0 to 0.60 s). 0.15 s
Left stick click brakes On a horse or wagon, hold the left stick click to brake (pull the stick back too for a hard stop); on foot it still crouches. On

Body

How much of John is drawn, his torso, and how his arms and hands fit your controllers.

Setting What it does Default
Shown: Whole body / Forearms and hands / Hands only How much of John is drawn in first person (only what you see changes, not gameplay). Whole body
Forearms and hands when crouching, in cover or riding Draws only the forearms and hands at those times, when the body gets in the way of the view. Off
Hide head and hat Hides John's head and hat in first person; cutscenes still show them. On
Torso: Upper body upright / Still / Remove lean only / Game animation Holds the torso upright over the hips, holds it still under your view (new in 0.8.5: only the arms and legs move), removes only its lean, or draws it as animated. Still
↳ Torso pitch Tilts the upright torso, 1 degree per press; positive leans it forward. 0°
Body back How far behind your view the body is drawn, so looking down shows your chest from outside. 0.04 m
Keep the torso over the hips Stops running from pushing the torso forward into view. On
Lock body facing The body, legs included, faces where you face, so walking sideways doesn't turn a shoulder into view. On
Body moves with the headset The body follows you when you lean or step; off, it stays where John stands. Off
Arms stretch to reach the controllers When your controller is beyond John's reach, his arm lengthens so the hand stays on it. On
↳ Longest arm The longest an arm may stretch, as a multiple of John's arm length (1.0 to 1.6). 1.60×
Wrist offset How far back from the controller's grip John's wrist sits, 5 mm per press. 0.065 m
Hand pitch / Hand yaw / Hand roll Tilts, turns and rolls John's hand against the controller, 2° per press (mirrored for the left hand). -68° / 0° / 0°
Controller fit: Offset / Pitch / Yaw / Roll Moves and turns John's hands against your controller type. Saved for that controller type only, and shown once the mod has seen your controller. 0 (no change)
Interaction spot Moves the point your hands grab with (the dot Show the hand dots draws) away from the wrist, 5 mm per press. right -0.030, up +0.005, forward +0.085 m

Holsters

The body holsters: how you draw, what they follow, placing them by hand, what is shown, each holster's weapon, John's belt, and each holster's own rows.

Setting What it does Default
Body holsters Reach to a holster and grip to draw; grip and let go there with the weapon to put it away (a short buzz marks a holster). On
↳ Weapons by: The holsters / The weapon wheel Draw by reaching to the holsters, or hold a grip to open the game's weapon wheel, move toward a weapon and let go. The holsters
↳ Putting a gun away selects the fists Holstering also switches to unarmed, so your fists come up instead of drawing the gun again (since 0.8.11 with both triggers held: "Fists on both triggers"). On
↳ Draw into the hand that grabs the holster The gun goes into whichever hand grabbed it, and that hand's trigger fires. On
↳ They follow: John's body / Your headset Whether the holsters stay with John's body or move with you (riding and cover always use the body; on horseback they also turn with the right stick's turn of the view). John's body
↳ Turn with the headset (new in 0.7.0) The holsters turn around you as you turn your head; off, they face the way John faces. Off
↳ ↳ Turn by your head and hands (new in 0.7.0) While both hands aim in front of you, the holsters turn halfway toward your hands, so looking aside swings them less. Off
↳ ↳ Turn dead zone (new in 0.7.0) How far you can look aside before the holsters follow, 0 to 90°; 30 to 45 lets you glance aside. 45°
↳ Steady when you lean (new in 0.7.0) Leaning or bending over leaves the holsters at your hips; crouching and stepping still move them. On
Placing by hand: Off / Rings / Belt pieces and guns (this session; one choice since 0.8.9) Rings: close the menu, grip a holster's ring and drag it. Belt pieces and guns (new in 0.8.8; the guns since 0.8.9): grip a piece of John's belt or a holstered gun, then move and turn it. Let go to leave it there (saved). Nothing is drawn meanwhile: set Off when done. Off
Rings stay on their holsters (new in 0.8.9) Each holster's ring and its piece of John's belt keep their places to each other: moving one, by hand or by the arrows, moves the other the same way (a piece's turn leaves its ring). Off: each moved on its own. Turning it on or off moves nothing. The ammo ring is always on its own. On
Show the holsters Shows each holster as a ring: white, green with a hand in it, amber while gripped. Off (since 0.8.1)
↳ Only near a hand (new in 0.7.0) Each ring appears faintly only when a hand comes near it. Off
Show the hand dots A dot at each hand's grab point, green inside a holster or on the foregrip. Off (since 0.8.1)
Show the weapon points Shows the foregrip ring, where a round goes in, and the hints for the gun's action. Off (since 0.8.1)
Show the guns at their holsters Shows each holstered gun on your body; hidden while it is in a hand. On
↳ The long guns on the back too Also shows the long guns on your back. Off
Choose the weapon in each holster Each holster draws the weapon you pick in its own rows below, and the game's weapon wheel follows; Automatic draws the game's weapon. On
↳ Any weapon in the gun holsters (new in 0.8.5; the gun holsters only since 0.8.9) The hips' and the backs' holsters take any weapon you own; one put away at a gun holster is drawn from there again. The knife's, the satchel's and the lasso's keep their own items, the chest the rounds. Off
Customize John's belt (new in 0.8.9) Move and turn John's own holster, knife sheath, satchel, lasso and rifle sling (each holster's Place / Angle rows, or Placing by hand), and add A mirrored holster at the left hip for the secondary sidearm. Off: John's belt exactly as the game has it (with Rings stay on their holsters, the rings move back with the pieces); your places are kept. Reset the belt to the game's positions returns every piece to the game's place, and Reset the rings to their defaults every ring to its default place on its piece (each on a second click). On (the developer's layout)
Each holster (since 0.8.9 in this order): Right hip (primary sidearm), Left hip (secondary sidearm), Right back (primary long gun), Left back (secondary long gun), Knife, Satchel (throwables), Lasso, Ammo Turns each holster on or off (the ammo holster is always on). The Lasso holster (new in 0.8.9) sits on John's lasso and replaced the lower back's knife-and-lasso holster; the knife holster holds the knife only. On
↳ Weapon The weapon this holster draws. On Automatic, the secondary sidearm and long gun holsters take a different owned gun when you have one. A weapon you no longer own shows "(not owned: automatic)". The lists fill in once you are in gameplay. Automatic
↳ Ring / Size arrows Move each holster's ring right / up / forward, 5 mm per press, and change its size; saved at once. Turn on Show the holsters to see them while you move them. Placed for the release
↳ Place / Angle arrows (with Customize John's belt on) Move and turn that holster's piece of John's belt: the holster, the mirrored left holster, the rifle sling (both backs), the sheath, the satchel, the lasso. Placed for the release
↳ Gun's angle / Gun's place (new in 0.8.5; with Show the guns on) Turns the holstered gun about its grip (tilt, turn, lean; 2.5° per press) and moves it (5 mm per press), so it sits in the holster. The left holsters mirror the right ones until you set them. Placed for the release

Guns

The gun in your hand: the reticle, how it fires, dual wielding, two-handed long guns, and the gun you are holding now.

Setting What it does Default
Reticle where the shot lands With a gun in hand (lowered, raised or in Dead Eye), shows a reticle where the bullet will hit; it turns red while you aim at a person or animal (that part not yet tried). Off
↳ Ring and dot / Dot only The reticle's look. Dot only
Keep the gun drawn A drawn gun stays in your hand until you put it away, instead of being holstered 3 seconds after your last shot. On
Executions up close (was "No executions up close" before 0.8.9) Pulling the trigger close to someone can start the game's third-person execution, pistol whip or butt strike. Off: it just fires. Off
Mounted guns in first person (experimental; new in 0.8.10, not yet tried on a real mounted gun) The Gatling, the Browning and the cannon: first person kept, John's hands on the gun, and the gun turned toward where your gun hand points (it learns the gun's barrel from your first shot). While on, the right stick no longer turns the gun: if the gun does not follow your hand, turn it off. Off: the game's own camera and aim while you use one. Off
Shoot past the arm block Lets you fire when the game thinks John's shoulder-to-gun line hits a wall; a friendly in the way still blocks the shot. On
Perfect accuracy Every shot goes exactly along the barrel, with no random spread. Other characters keep the game's spread. On
Shotgun pellets spread Pellets spread in the game's cone; off puts them all on one line. On
Dual wield With a gun in one hand, grip another gun holster with the free hand to take a second gun with its own trigger and ammo. On
The same sidearm in both hands With a sidearm in hand, grip a hip holster with the free hand to take a copy of it; let go at a hip to put it back. On
↳ The copy drawn as a prop Draws the copy as a model of the gun, so you see it in the free hand. On
↳ Your other sidearm's model If you own a different sidearm, the copy is that gun (the one that hip's holster shows), and its shots leave its muzzle. On
↳ ↳ A second of the gun at its own holster Gripping the holster the gun was drawn from gives a second of that same gun; the other hip still gives your other sidearm. On
Two-handed long guns Grip a long gun's foregrip with your other hand to aim it with both hands. On
↳ The front hand snaps onto the gun While you hold the foregrip, John's front hand sits in the game's own grip instead of following your controller. On
This gun: The foregrip / The foregrip ring / The loading ring Draw a gun first: the heading names it. Moves where John's front hand sits on this gun, and moves and sizes the rings where your front hand takes hold and where a round goes in, 5 mm per press. Until you change a value it uses every gun's (the Reloading tab). Every gun's (some guns have their own)
↳ Use every gun's Clears this gun's own values so it uses the shared ones again. – (button)
The front hand's hold: Automatic / Lowered / Aiming (new in 0.7.0) Long guns only: which of the game's holds John's front hand uses on this gun. Until the game has shown a hold once this session, its label says so. Aiming

Reloading

Reloading by hand, the round in your hand, every gun's rings, working each gun's action, and the empty gun.

Setting What it does Default
Reload by hand Grip at the chest with your free hand to take a round, then bring it to the gun to load it, one at a time (not in Dead Eye). On
Show the rounds at the chest While the gun can take rounds, a row of them is drawn at your chest. On
The gun hand squeezed at the chest: Does nothing, Loads one round, or Reloads fully. Reloads fully
The game's automatic reloads Turns the game's own reloads back on alongside the hand reload. Off
The game's reload button Turns the game's reload button back on alongside the hand reload. Off
A round seen in the hand Draws a matching cartridge in your hand when you take one from the chest. On
↳ Offset / Direction / Turn / Tilt / Brightness Where the drawn round sits in your fingers, which way it points, and how bright it is (the chest rounds too). Custom (turn 0°, tilt −45°), brightness 0.50
Every gun's rings: Offset / Size arrows The shared foregrip, foregrip ring and loading ring for every gun without its own (the Guns tab), 5 mm per press. Foregrip ring 0.110 m, loading ring 0.075 m
A round goes in at a touch The round loads when it touches the loading ring; off, your wrist has to be inside the ring. On
Work each gun's action by hand Flick the right stick down to open a revolver and flick the gun to close it; after a shot, work the bolt, lever or pump yourself before the trigger fires again. On
↳ Revolvers drawn open An open revolver is drawn open (tipped, swung out or gate open). On
↳ Lever guns: the lever by your flick Flick the gun down to open the lever and up to close it and chamber the round. On
↳ Pump-action: the fore-end in your front hand After a shot, pull the fore-end back with your front hand and push it forward. On
↳ Bolt actions: the bolt in your other hand On the Bolt Action and Carcano: lift, pull back, push forward and turn down the bolt by hand. On
↳ Single-shot rifles opened by hand Open the Springfield's and Rolling Block's breech with your other hand (the Buffalo's with a flick), load one round, then shut it. On
↳ Semi-Auto Shotgun: the bolt racked by hand After loading from empty, pull the bolt handle back with your other hand. On
↳ Break actions opened by the stick Flick the right stick down to break the Double-barrel or Sawed-off open; flick the gun up, or swing the barrels up by hand, to shut it. On
↳ ↳ John's hand on the barrels as they swing up Draws John's hand on the open barrels while you hold them. On
↳ John's hand on the part your other hand grips Draws John's hand on the bolt or breech you are working. On
↳ A click when fired before the action is worked A trigger pull on a gun that is open or not yet worked plays the empty click. On
An empty gun: Clicks / Buzzes / Clicks and buzzes / Does nothing What an empty gun's trigger does: a click from the gun hand's side, a controller buzz, both, or nothing. Clicks and buzzes
↳ Click volume The click's loudness from 0 to 1, 0.05 per press. The game's volume settings don't affect it; the game's slider in the Windows volume mixer does. 0.16

Gestures

Actions you do with your own hand movements.

Setting What it does Default
Throw by hand Dynamite, fire bottles, throwing knives and tomahawks fly with your hand's speed and direction: pull the trigger and swing. On
↳ Throw strength How hard throws fly, as a multiple of your hand's speed (0.5× to 4.0×). 2.0×
↳ Throw by letting go of the grip (new in 0.7.0) Hold the grip to hold the throwable, pull the trigger to light or ready it, then swing and let go of the grip to throw. A lit one held too long goes off in your hand. On
Melee by swing A fast swing of either hand punches, stabs with the knife or strikes with the torch. With "Fists on both triggers" on (0.8.11), the fists punch only while both triggers are held, whatever this says. On
Lasso by hand With the lasso in hand, its trigger (or a swing, as chosen below) throws it; a yank back pulls. On
↳ Thrown by (new in 0.8.7) Trigger, Swing (a fast swing toward the aim), or Either. Trigger
↳ Aimed by (new in 0.8.7) Head (where you look), Lasso hand, or Other hand (where your other controller points). Head
↳ Swing speed How fast a swing must be to punch or throw the lasso (1.0 to 8.0 m/s). 1.50 m/s
Gun-butt melee Swing the gun in your hand into someone to land the game's knock-out hit (with the usual crime and anger). On
↳ Hit speed How fast the gun's swing must be to hit (1.0 to 6.0 m/s). 1.00 m/s
Whistle for the horse Put a hand at your mouth and pull its trigger to whistle (the gun hand whistles only when it holds no gun). On
Fists on both triggers (new in 0.8.11) With nothing in your hands, hold both triggers for the fighting stance and swing a fist to punch while holding them; raise both fists before your face to block. A trigger alone does nothing. Off: each trigger as the game has it. On
Guard with both fists (new in 0.8.5) With your fists out, raise both hands before your face and hold both triggers to block. Fists raised without the triggers stay lowered for the game. Not riding, not in the game's menus. On
Tip the hat to greet (experimental; new in 0.8.5) Your right hand over your head and its trigger press the game's greet button. Not yet seen to make John greet anyone. Off
Hands push loose objects (experimental) An empty hand pushes bottles, crates and chairs with the game's physics (never people). Off
Grab loose objects (experimental) Grip with an empty hand to hold a loose prop; let go to throw it at your hand's speed. Off

Controls

Handedness, how the triggers aim and fire, and button mapping.

Setting What it does Default
Left-handed Swaps the controllers' roles: the left trigger fires and the right stick moves. Off
↳ The gun in John's left hand John holds the gun in his left hand, each arm on its own controller; off, the arms cross. Off
The trigger alone fires The right trigger alone fires; the mod holds the aim trigger for you. On
Aim while the gun is raised While the gun is raised in front of you, the aim is held, so every pull fires at once. On
Sprinting lowers the raised gun Pressing sprint lowers a raised gun so John can sprint with it. On
Jumping lowers the raised gun The jump button first lowers the gun (up to 250 ms), so John can jump, vault or climb with a gun in hand. On
Buttons: Right A, Right B, Left X, Left Y, stick clicks, grips, triggers Picks the game button each VR button presses. The button of the same name (grips LB / RB, triggers LT / RT)
↳ Reset to the game's scheme Puts every VR button back on the game button of the same name. – (button)
The menu: ... How to open this menu. A tap of the menu button pauses. Held with the right stick it is the D-pad, and held with A it opens the satchel. –

Advanced

Live performance and view-mode readouts (frame rate, missed frames, CPU and GPU time), and fixes you can turn off to compare or if one misbehaves for you. Leave them on for normal play.

Setting What it does Default
Long guns held by their aiming grip Each long gun is held the way the game holds it when aiming, in every pose; off, the game's own hold of each moment. On
Sidearms held by their aiming grip (new in 0.7.0) Each revolver or pistol is held the way the game holds it when aimed, so it moves with your hand at once instead of lagging when the game runs slowly. On
Arms follow the controllers John's drawn arms reach to your controllers and his hands turn with them; off, the game's own arm animation. On
Shadows drawn once for both eyes The shadows drawn once a frame for both eyes instead of once per eye: about 0.9 ms faster; a shadow's edge can shift by a pixel. On
Arm motion vectors (experimental; new in 0.8.9) Tells DLSS and TAA how John's arms moved, which may cut the ghosting beside fast-moving arms. Off

Where to find...

  • Recentre: Comfort, "Recentre". You can also use the headset's own recentre, Scroll Lock, or hold both stick clicks for a second.
  • Render resolution: Display, "Render resolution: headset" and "size" (restart).
  • DLSS: Display, "Anti-aliasing" then "DLSS quality" (restart).
  • Eye shape: Display, "Eyes in the headset's shape" (FXAA), or "Eyes in the headset's shape with DLSS".
  • Cutscenes in 3D: Display, "Cutscenes".
  • Snap or smooth turning: Comfort, "Turning on the right stick".
  • Holster placement: Holsters, "Placing by hand", or each holster's Ring / Size arrows.
  • The weapon in a holster: Holsters, that holster's "Weapon".
  • Horse whistle: Gestures, "Whistle for the horse".
  • Satchel: hold the menu button and press A. With the wrist HUD you can also turn on Display, "A double tap of Y at the wrist opens the satchel".
  • Left-handed mode: Controls, "Left-handed".
  • Button mapping: Controls, "Buttons".
  • Reticle: Guns, "Reticle where the shot lands".
  • Weapon wheel instead of holsters: Holsters, "Weapons by: The weapon wheel".

Tips

  • Sharpness: each eye shows the game's own frame (16:9), or, with "Eyes in the headset's shape" on, a frame in the headset's own shape. For a sharper image on a high-resolution headset, choose the "Render resolution" (the Display tab): your headset or Automatic, at 100%, 150% or 200%, if your GPU allows (new in 0.4.0, the sizes in 0.6.0); "Eyes in the headset's shape" (with FXAA, or "... with DLSS", new in 0.8.0) makes it cheaper, and DLSS Quality (usable since 0.5.0; from the next start) renders each eye at two thirds of the width and height (about 9 ms of GPU a frame at 3926 x 2208 on an RTX 4070 Ti, against FXAA's 7).
  • Frame generation layers (frame interpolation in the OpenXR runtime or a layer) make the guns lag behind your hands: the generated frames cannot follow the gun. Prefer a lower refresh rate (72 or 80 Hz) with real frames.

Compatibility

  • Bindings: Meta Touch, Touch Pro and Touch Plus, Valve Index, HTC Vive, Vive Cosmos and Focus 3, Windows Mixed Reality, HP Reverb G2, Samsung Odyssey, Pico 4 and Neo 3, and the Khronos simple controller. WMR and the Vive wands have no A/B buttons: the trackpad's click gives them (upper half B/Y, lower A/X).
  • Only Touch controllers on a Quest 3 have been tested on real hardware. If a controller type sits differently in your hand, the Body tab's "Controller fit" moves and turns the hands for that type.
  • The game's own builds: the mod was made on one build of RDR.exe. On another build it looks for the game code and data it uses by their bytes (new in 0.3.0, not yet tried on a real other build). If it finds and checks every one, it runs; if not, it stands down (the game plays flat). Either way it writes RDRVR_build_report.txt in the game folder: if the mod stands down or misbehaves, please attach it, with RDRVR.log, to an issue. Since 0.8.1 two of them are optional. One: in a player's build the mod found every one but the playback thread's dispatch (used only by the batched hand-off, see Performance), and it stood down there. Such a build should now run with the batched hand-off off (RDRVR.log and the report say so; tried by forcing it on the developer's build, not yet on that player's), and the report shows the bytes near a missing one so a later release can find it. The other (0.8.2) tells the map screen apart: a build without it keeps the game-menu controls on the map, as before 0.8.2. A game executable without the Steam version's start-up stage (the same game build otherwise) should no longer start flat (new in 0.6.0, not yet tried on such an executable; the developer forced the path on the Steam version): the mod notices and hooks at once, and RDRVR.log says if its hooks came too late. RedHook, which runs the gameplay plugin, has to work on that build too.

Known issues

  • Shooting from right behind cover can be refused by the game's "gun against a wall" check, which looks from John's shoulder, not from your gun: "Shoot past the arm block" (the Guns tab, off by default, new in 0.3.0) lifts it.
  • Standing or walking with a gun raised, the game takes no jump, so no vault or climb: "Jumping lowers the raised gun" (the Controls tab, off by default, new in 0.3.0) lowers the gun for the jump. Vaulting over a fence or a low wall has not been checked yet.
  • DLSS (in the anti-aliasing choice, from the next start) has been tried in one headset (a Quest 3 over Virtual Desktop) at Quality; FXAA stays the default. With DLSS, Virtual Desktop's latency figure counts the GPU's whole frame now (it did not before), so it reads higher than with FXAA for the same real latency.
  • Rarely, the game freezes or slows to a few frames a second (seen a few times in the developer's simulator tests; the cause is not known yet). If it happens, please attach RDRVR.log to an issue: it records what the game's render threads were doing.
  • The holsters' guns cost frame time by how many are shown: the back's long guns (off by default) are the expensive part.
  • With "Long guns held by their aiming grip" off (the Advanced tab; on by default since 0.8.1), John's gun hand can sit a few centimetres up a long gun (at the receiver, not the stock's wrist) when it is lowered or carried.
  • "Render resolution" has been tried (in the developer's simulator) in Windowed mode only (the game's Screen Type): use Windowed with it for now. In Fullscreen the game may undo a size smaller than your monitor's at the start (the row's "Now:" line then says the game changed its size).
  • Changing the resolution in the game's Graphics menu while in the headset stops the headset view (the flat game on the cinema screen) until you restart the game.
  • Frames wider than 2560 (a 4K monitor, DSR, or "Render resolution") show the HUD panel and the cinema screen filtered to 2560 wide (new in 0.4.0): [XR] UiQuadMaxWidth=0 and CinemaMaxWidth=0 in RDRVR.ini bring back 0.3.0's full-size images.
  • The front hand on a long gun held two-handed can move on the gun during a shot, most on the Double-barrel (seen in the developer's simulator, back on the grip within 3 seconds). RDRVR.log has a [two] a shot two-handed line after each such shot (since 0.8.0 measured as your eyes see it): please attach it to an issue if your hand ends up in the gun or in the air.
  • The hat tip (the Gestures tab, off by default, new in 0.8.5) presses the game's greet button, but John has not been seen to greet anyone with it yet.
  • Short bursts of stutter (single frames of about 90 ms for 10 to 20 seconds, the GPU not the limit) were seen in the developer's headset in 0.8.5 as in earlier versions; the cause is not known yet. RDRVR.log's [xr] timing lines show them: please attach it to an issue with what you were doing.
  • The default places of the holsters, the loading and foregrip rings and the interaction spot were tuned in the headset by one person: if they do not suit you, move them with the menu's arrows (Holsters, Reloading, Guns and Body tabs).

Building

Needs Visual Studio 2022 (the C++ desktop workload, with its CMake and Ninja), vcpkg (VCPKG_ROOT set, or at C:\dev\vcpkg), and for the gameplay plugin the RedHook SDK (https://github.com/K3rhos/RedHookSDK, MIT), which this repository does not include:

extern/redhook-sdk/include/   the SDK's Headers/ plus Resources/RedHook.h
extern/redhook-sdk/lib/       Resources/RedHook.lib
powershell -ExecutionPolicy Bypass -File tools\build.ps1                 # build\dinput8.dll and build\RDRVR.Gameplay.red
powershell -ExecutionPolicy Bypass -File tools\build.ps1 -RedHookSdk D:\sdk\redhook   # the SDK elsewhere
powershell -ExecutionPolicy Bypass -File tools\package.ps1               # build\dist\RDRVR-<version>.zip

Without the SDK only dinput8.dll is built. The game's code addresses the mod hooks are in src/core/anchors.txt; src/core/anchors.inc is generated from it with tools/gen_anchors.py against your own copy of RDR.exe (placed at research/RDR.exe, which is never committed), and each one is checked against the running game's bytes at startup: on another build (or after a game update) the mod looks for each one by its signature (src/core/anchors_sig.inc, from tools/gen_buildsig.py) and runs on the found addresses only when every one is found and checked; otherwise it installs no game hooks.

How it works (briefly)

  • dinput8.dll (the core) loads with the game, hooks its D3D12 renderer to draw the scene once per eye, owns the OpenXR session, the body, the hands, the holsters and the menu.
  • RDRVR.Gameplay.red (a RedHook plugin) runs on the game's script thread and calls the game's natives the core asks for.

Licence

MIT (see LICENSE). Third-party libraries: THIRD-PARTY-NOTICES.md.

About

Red Dead Redemption VR Mod

Resources

Stars

101 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages