GTAVE
Legal notice: this post is made available through the Patreon platform ONLY to current subscribers of the "VR friend" tier, exclusively for private reading and/or interacting with comments. Any other use of the contents, including but not limited to reposting, copying, republishing in whole or in part on social media or any other form of disclosure is strictly prohibited, and in violation of Luke Ross's and Patreon's IP rights and terms of service.
Game
https://store.steampowered.com/app/3240220/Grand_Theft_Auto_V_Enhanced/
Enabled technologies
AER v2, DL(S)SS. DL(S)SS-RR is not required for this title because it implements its own version of Ray Tracing that doesn't use NVIDIA Ray Reconstruction.
Supported version(s)
The R.E.A.L. VR framework was tested with game version 1.0.1158.16, available from Steam at the address linked at the top (I get no commissions). The same version of the title bought from other stores might also work, but there are no guarantees.
IMPORTANT: The Enhanced version is the only one I currently support. Due to the complexity of the game and the major improvements that Enhanced brings to image quality, I have no plans of making R.E.A.L. VR compatible with the Legacy version.
Older versions or pirated copies are not supported. Official versions later than the one(s) listed above may or may not work, depending on what was changed. See here for information on how to prevent automatic game updates from breaking VR functionality.
Special setup notes
The folder where you should extract the R.E.A.L. VR archive and run RealConfig is "C:\Program Files (x86)\Steam\steamapps\common\Grand Theft Auto V Enhanced".
You might have to customize the path if you moved your games library or in case you own the game from a different store, but it will always be the folder that contains the "GTA5_Enhanced" executable file.
For this title you will also need to add the following to your Steam Launch Options:
-ignorepipelinecache -nobattleye
The first option is required because there is a bug with the Enhanced version (see here for a discussion) that causes weird problems at high resolutions, like the rain being drawn in square clumps. Rockstar never fixed it, and the only reliable workaround which is known at the moment is to disable the internal pipeline cache.
Additionally, as you know, the title has a strong online component which is protected by BattlEye against any injection of unknown libraries, so you'll only be able to play the solo campaign ("Story Mode") in VR. Unfortunately BattlEye gets loaded by default even in Story Mode, so it must be disabled explicitly with the -nobattleye option.
NOTE: There is no need to install Alexander Blade's Script Hook V in order to play in VR with my framework. Though I used to have a (free) VR conversion for the original GTA V that was structured as a mod, thus relying on ScriptHookV.dll to translate the native calls that my code made into the engine, that is no longer true; now my software acts like a runtime sitting between the game and your VR system, and it intercepts the graphics API calls in such a way as to achieve 3D rendering in the headset.
You can still use Script Hook V though, if you need it for other purposes: for example because you want to install third-party mods that need the ability to call arbitrary native functions, or if you'd like to use Alexander Blade's Native Trainer to do all sorts of weird stuff in your game like spawning vehicles and weapons, change the time of day and the weather, make yourself invincible and so on.
But to avoid incompatibilities due to the fact that both my runtime and Script Hook V act as conversion layers, you won't be able to use either the dinput8.dll or the xinput1_4.dll loaders that come with the distribution of ScriptHookV, as they will either crash the game or fail to load the .ASI files.
You will need to turn to a more versatile loader like the Ultimate-ASI-Loader by ThirteenAG. Download the Win64 "version.dll" file from its Releases page and put it into the game folder at the same level as GTA5_Enhanced.exe. When the game starts, version.dll will automatically chainload ScriptHookV.dll and any ASI files it finds.
Again, that is only needed if you want to load the Native Trainer or any third-party mods that rely on Script Hook; my runtime doesn't need it, which also means that it should keep working after minor updates to the game that change the native hashes and would normally require waiting for a number of days until AB updates his library.
Resolution and aspect ratio
I was able to interface directly with the engine in order to add the large custom resolutions needed for VR. GTAVE doesn't work well with square aspect ratios however (many HUD elements like the pause menus get cut off to the sides), so I forced 5:4 which is the narrowest ratio officially supported. You will be able to select the resolution you prefer from the game SETTINGS> Graphics menu itself, without any hassle. Just make sure that "Screen Type" is set to "Windowed Borderless".
The framework will also remember the resolution you set across sessions, so once you find the right compromise between detail and fluidity you should be able to play the rest of the game without touching the resolution again.
Options
You can tweak most graphics and gameplay options in the SETTINGS menu according to your liking and how powerful your GPU is, but there are a few game options that you must leave at the defaults preselected by RealConfig in order for the title to display properly in VR. Specifically, in the Graphics page:
Screen Type = Windowed Borderless
Frame Limit = Off
VSync = Off
NVIDIA Reflex should be Off (system-dependent, but for me switching it on tends to have a negative impact on frame rate);
Ray Tracing: the developers at Rockstar did a wonderful job, and this is one of the very few titles where I feel confident in recommending that people with powerful GPUs should definitely enable Ray Tracing. It makes a huge difference on the visuals without killing your frame rate. I personally play with it switched on and maxed out, except for the Second Ray Traced Global Illumination Bounce that I leave Off because it gives diminishing returns;
Frame Scaling = NVIDIA DLSS. Make sure this is selected so that you can use my DL(S)SS fix to eliminate the shimmering around nearby characters and objects. All "NVIDIA DLSS Quality" levels work correctly; I tend to use Quality, even though DLAA does look incredible if you can afford it. In case you are running an AMD GPU, you might try the amazing third-party OptiScaler (see my previous post for details on how to install and configure it for VR) so that you can still make the game believe you're using DLSS. I'll need your feedback on this however, because I don't have an AMD card available to test on at the moment;
Frame Generator must be Off (this is crucial as not only FG does not work at all in VR, it usually also crashes the game immediately and sometimes brings down the whole system). If you turned it on by mistake and now the game won't even start anymore, temporarily rename the dxgi.dll file in the game folder to dxgi_bak.dll to deactivate VR, then launch the game and turn FG back off. After that you can restore the dxgi.dll and the game should start normally again;
In-Game Depth Of Field Effects = Off
Motion Blur Strength = 0 (you should never enable any kind of motion blur when using R.E.A.L. VR, or the world will look smeared out horizontally).
There are also a couple of options that RealConfig cannot set on its own, so you'll need to configure them manually the first time you launch the game in VR:
in the Gamepad page, set Targeting Mode to Free Aim, so that it won't interfere with gaze-based aiming;
in the Camera page, I recommend leaving everything at default, except for First Person Head Bobbing which you should turn Off because it might give you motion sickness in VR.
Additional game-specific notes
You can bring up the R.E.A.L. overlay with the Pause key on the keyboard, or by pressing Back+Start (Select+Start) on the gamepad. This latter gesture is recognized only when the title is paused, to avoid interfering with gameplay; however if you press Start first and then hold it down while pressing Select, the game will automatically switch to the pause menu and simultaneously open the R.E.A.L. overlay.
As I explained previously, you cannot play Online Mode in VR due to the mandatory BattlEye check which will refuse to start a session because of the unknown libraries in the game folder. So, when R.E.A.L. is installed it will make the title boot directly into Story Mode, which is convenient and helps preventing bans. If you want to play online instead, you need to remove from the game folder all the files you extracted there from my archive.
GTAVE has the very annoying "feature" of using DirectStorage to lock all the files in the game folder and all its subfolders as soon as you launch it. Nobody likes that :-) So I added another small quality-of-life improvement by restricting that lock only to the data files that actually need it; you won't need to install a third-party mod for that.
Input
You will definitely want to use a gamepad to play GTAVE. Keyboard and mouse sort of work too, but there might be issues, like mouse clicks activating other windows at random or some entries in the game menus being unreachable with the cursor; thus, in order to have a smooth experience, using a gamepad is highly recommended.
Don't worry about console-player syndrome: with R.E.A.L. VR, aiming is gaze-driven and extremely fast, intuitive and accurate, so even if you're used to playing FPS with your mouse, give your gamepad a chance. It will be one headshot after the other, even when shooting from a car which is notoriously hard in this game ;-)
Camera, HUD, gameplay, cutscenes
The R.E.A.L. framework supports 6 DoF tracking, i.e., the camera will follow your head rotation and movement. It's usually completely decoupled (meaning that you can look in a different direction from the character you're controlling without influencing where he walks), except when you're aiming.
During normal gameplay, the HUD will float in space in front of you. To achieve proper gaze-based aiming and to always keep the crosshair correctly aligned, when you enter aiming mode 6 DoF will be limited to 3 DoF, i.e., without positional tracking.
All the cameras that you can select while on foot or driving (3rd person with different distances, 1st person, even the objective-tracking camera and the cinematic one) will work correctly in VR. Amazingly enough, the same is true of all other custom cameras created by the various scripts that control missions and side activities, like for instance the golf and tennis cameras, the zooming-out-into-space effect when you switch to a faraway character, an so on.
The HUD rescaling can be finely customized, so you won't miss any of the important information that appears at the sides like health, hints, ammo count and so on. If the default size I suggest doesn't work for you, you can tweak it using the HUD "Horizontal scale", "Vertical scale" and "Vertical position" sliders, which will have immediate effect while playing without any need to bump the resolution. Note that these sliders are found in the "GTAVE" game-specific overlay tab and are not to be confused with the "Normal HUD size/distance" and "Aiming HUD size" sliders available in the HUD section of the main page in the overlay.
Cutscenes are presented in glorious 3D, and my framework will give you the ability to look anywhere you like. This being a Rockstar title, the attention to detail is unmatched, and even the "backstage" (the portion of the scene which you were never supposed to see) almost always renders correctly, without missing props, teleporting or rubber-legged characters.
Custom controls in the "GTAVE" overlay tab
For accurate, intuitive ADS (Aiming Down Sights), don't forget to set your dominant eye. The default is right-eye dominant, which works for about 2 out of 3 people.
In the base 2D game, aiming makes your view more and more zoomed in, with scoped weapons providing the greatest magnification. In VR you might want to keep that effect, but some people could be bothered by the warping effect that comes from the zoomed-in field-of-view not matching the headset FOV. For that reason, I included the "Allow FOV change past this zoom level" slider; drag it toward the right to allow zooming only for the weapons that offer the highest magnifications, or toward the left to progressively match the zooming behavior used to aim in 2D.
Sometimes the game may roll the camera left and right, for example when you're hit by a car. If that effect is too intense for your stomach, uncheck the "Allow camera roll" box to keep it from happening in VR. In the same "Camera" section, you can decide whether you want the VR view automatically recentered every time you enter a vehicle, so that the forward direction will be aligned to your gaze.
If you're still using Legacy AER (which I don't recommend because AER v2 behaves very well in this game and makes experiences like driving a fast car or flying a helicopter look amazingly smooth, as they never could be in my old mod), you can select whether to compensate the background judder when you use the thumbstick to rotate the camera.
As usual you can change the world scale, from small adjustments to playing with dolls or giants, or force the game to render to a 2D virtual screen in case you should find a section too hard to play in full VR. And so that you can make the action and explosions in GTAVE look even more awesome, my framework gives you the freedom to go into slow motion or even freeze time completely at the press of a button.
The "HUD" sliders in the GTAVE tab control the scaling of the user interface during normal gameplay; the default values should be fine for most headsets, but you can tweak them with immediate visual feedback in case some HUD elements draw too close to the periphery of your FOV to read comfortably. You can also adjust the vertical offset, but that will only apply when you're not in aiming mode, to avoid crosshair misalignment.
The "Miscellaneous" section allows you to enable or disable a number of fixes that I made to the camera so that it behaves more naturally in VR, in case they exhibit problems on your system or happen to be incompatible with some third-party mod that you're using. For example, "Fix near clipping" will prevent the camera from clipping into close objects during cutscenes.
The vast majority of users should not need to touch this setting, but if your system appears to display the 3D effect incorrectly (as though distant objects were actually in front of closer ones) try changing the "Frame delay compensation" value step by step until you get a perfectly stable world image, with proper depth everywhere.
Updates and known issues
Update Oct 16: Shortly before the release I had to make a last-minute change to the cutscene detection code in order to remedy an issue that was found during testing, and as an unforeseen side effect of that change I broke shooting from vehicles. It's fixed in Release 2610.16.2; I recommend that everybody who wants to play GTAVE update now, because not being able to aim while driving is a big bummer :-/
[I'll post new information here as it becomes available.]
