UEVR is a VR mod for Unreal Engine 4 & 5 games
- The main GitHub is located here
- Support praydog’s efforts on Patreon
- Join the Flat2VR Discord to stay up to date on UEVR and new games
General Notes and References
- A list of compatible Unreal Engine games and profiles is available either on the website or on Discord
- You may get improved performance with
GPU Scheduling
OFF - you can change it here
- 3DVision Notes
- 3DVision driver 452.06 seems to be compatible with all Unreal Engine games tested thus far, but some newer UE5 games may stop working at some point
- Review the 3DVision steps which ARE NECESSARY for any UEVR game
- It is normal to get this warning, but the game will likely play just fine
- Missing UI in-game is caused when the VRto3D
debug_enable
is set to false
and the Headset Window
is not proper fullscreen. (leave this setting to true
unless you are using 3DVision)
- Controls not working is likely due to either the 2D Game window not being in focus, or the in-game UEVR menu needs to be dismissed with
INSERT
- For any 3D display that isn’t 3DVision, the order that you launch SteamVR, Game, UEVR doesn’t matter. UEVR will auto-launch SteamVR if it’s not open when you Inject
- If you are running in a half-SbS or half-TaB format, you can boost your performance by setting VRto3D’s
render_width & render_height
to match the half resolution
UEVR Video Guide
- This video guide is a great orientation to UEVR, but it is aimed at VR users
- Here’s a brief video demonstration of running with VRto3D and Hogwarts Legacy
- Specifics of using UEVR with VRto3D will be outlined on this wiki
Initial Setup Step-by-Step Guide
- This is the set of steps to run a game in 3D. Detailed instructions are linked to sections below
- If using 3DVision, you will need to follow the steps outlined in the README for all UEVR games
- Update your VRto3D profiles to see if one has been created for your game
- Launch your game and modify the in-game settings
- If UEVR isn’t installed, install UEVR
- Launch your
UEVRInjector.exe
shortcut and grant it admin
- Select your game from the drop-down menu
- Choose OpenVR or OpenXR (recommended) mode
- Either import a profile with
Import Config
or modify the highlighted settings
- Inject into the game
- For single-display setups, enable VRto3D foregrounding with
Ctrl + F8
and Alt + Tab
to the 2D game window for controls. Mouse control is not possible
- For multi-display setups, ensure that the 3D Headset Window is fullscreen by clicking on it and then click on the 2D game window for controls. Mouse control is supported
- Modify UEVR in-game settings
- Adjust Depth and Convergence
- Exit the game
- If using 3DVision, you will need to follow the steps outlined in the README for all UEVR games
- Launch your game
- Wait for the game to reach it main menu
- Launch your
UEVRInjector.exe
shortcut and grant it admin
- Select your game from the drop-down menu
- Choose OpenVR or OpenXR (recommended) mode
- Inject into the game
- SteamVR should start
- For single-display setups, enable VRto3D foregrounding with
Ctrl + F8
and Alt + Tab
to the 2D game window for controls. Mouse control is not possible
- For multi-display setups, ensure that the 3D Headset Window is fullscreen by clicking on it and then click on the 2D game window for controls. Mouse control is supported
Detailed Steps
VRto3D Profiles
- A limited number of profiles are available on the Github repo. If you would like to contribute one, reach out!
- Instructions for creating a profile are covered in the README under User Presets and Profile Creation Steps here
- Extract the latest profiles into your
Documents\My Games\vrto3d\
folder
- Profiles load automatically when UEVR injects
- A loud beep indicates a profile was successfully loaded
In-Game Settings
- These are general recommendations (sometimes requirements) for in-game settings
- In-Game resolution affects UI resolution in VR, but not geometry resolution
- Geometry resolution is set through the VRto3D config
render_width
and render_height
- If you are running in a half-SbS or half-TaB format, you can boost your performance by setting these to match the half resolution
- Windowed Mode (or borderless) to avoid issues with the 3D Headset Window and controls working
- If using a multi-display setup for VRto3D, set the game to run on your 2D display in-game if it’s available
- TAA is recommended. It works with UEVR using the settings covered in UEVR Per-Game Settings
- Recommended to disable Motion Blur, Depth of Field, Chromatic Aberration/Lens Effect, Film Grain
- Disable HDR as SteamVR is not compatible currently
- Ray Tracing may work if you have the hardware to run it
- Frame Generation MUST BE
OFF
- You can experiment with the different upscaling technologies to see which works best for a given game. They are all compatible but maybe only one has no broken effects in a specific game. (XeSS, DLSS, FSR, TSR, etc)
UEVR Initial Setup
- Download either the latest release or nightly (nightly recommended)
- Extract the zip into a new folder of your choosing
- Right Click
UEVRInjector.exe
and select Properties
- Can also do this with a shortcut on your desktop
- Under the
Compatibility
tab, select Run this program as an administrator
and click OK
- Turn OFF GPU Scheduling
UEVR Per-Game Initial Setup
- DO NOT RENAME THESE PROFILE ZIPS OR UEVR WILL NOT WORK
- A few profiles are available for VRto3D users here
- Profiles can also be downloaded from the UEVR website
- These may have VR specific settings, so you may need to tweak them or just create your own (read on)
- You can also search for recommended settings on Discord
- UEVR has a built-in function to manage profiles using
Export Config
and Import Config
which will accept the zipped profiles you download
- The
Open Global Dir
opens your C:\Users\<user>\AppData\Roaming\UnrealVRMod
folder where all UEVR profiles are stored
- If you run into some issue with a game crashing, you can try deleting its folder from here
- If you want or need to manually create a profile for a game, the essential settings to change in UEVR are:
VR_GhostingFix
to correct TAA when running in Synced Sequential Mode
but it may cause some games to crash
VR_RenderingMethod
where
Native Stereo
will give the best performance but may introduce artifacts or crash the game
Synced Sequential
should fix artifacts and is more compatible in general
VR_SyncedSequentialMethod
should generally just be set to Skip Draw
- Additional Unreal Engine CVars can be set in a
user_script.txt
stored in your game’s profile folder, but these settings can be very game-specific and won’t be covered here
UEVR In-Game
- UEVR menu can be toggled using
INSERT
- If the UEVR menu is open, you probably will not be able to control the game, so close it when done tweaking settings
- If you get a warning about
DLSS Frame Generation
just make sure you have it off in-game settings. UEVR can’t tell the difference between DLSS and DLSS Frame Gen
- The
Reinitialize Runtime
button is here for when you are adjusting convergence
- The main settings you may want to modify are
UI Distance, UI Size
to push the in-game HUD to depth
- If you don’t want anything to render in your 2D game window, uncheck
Desktop Spectator View
- This is what the main window looks like in OpenVR
- This is what the main window looks like in OpenXR. The additional
Resolution Scale
can be used to dial in performance without breaking effects like in-game scaling options sometimes do
- These are the rendering settings you can modify in-game
World Scale
can affect the strength of the 3D effect, but you may want to use the VRto3D depth(separation) & convergence settings first
- May want to check the
Remember Menu Open/Closed State
so that the UEVR menu stays closed on future game launches
- You may want to uncheck the
L3 + R3
options to avoid accidentally opening this menu with a controller
Adjusting Depth and Convergence
- UEVR has a built-in
World Scale
option that affects depth and convergence as well as the below VRto3D settings
- UEVR can inject using OpenVR or OpenXR. Both are compatible with VRto3D, but there’s some different behaviors
- In both, adjusting Depth (separation)
Ctrl + F3/F4
works normally and you can reduce it for scenes where objects are closer to the camera (behaves similar to 3DVision convergence, but it’s technically different)
- Create as many different Depth (separation) presets as desired. Reference VRto3D Profiles
- It is recommended to use a SINGLE convergence value for every preset in a VRto3D profile to avoid issues and the performance hit stutter of changing convergence
- If you want to adjust Convergence in both modes and then play in OpenXR mode, you will have to restart the game in-between
- OpenVR
- Adjusting Convergence
Ctrl + F5/F6
works, but black bars will form on the edges of the screen
- You will want to find a good default convergence setting using OpenVR to use for your VRto3D profile
- Some games may crash when run via OpenVR with VRto3D
- Once you have your desired VRto3D Convergence set, use the
Reinitialize Runtime
button in the UEVR GUI to apply it and get rid of black bars
- Recommended to setup a user preset with your default depth and convergence to
Numpad 1
for example
- Save your settings with
Ctrl + F7
- OpenXR
- Adjusting Convergence
Ctrl + F5/F6
only affects UI elements
- If you want multiple HUD/UI convergence settings, set your default convergence with OpenVR first
- You can then create additional convergence presets in OpenXR
- Restore your default depth and convergence using your user preset you created in OpenVR
- Save your settings with
Ctrl + F7
- If the UI is squished or there’s other render issues, try using the
Reinitialize Runtime
button in the UEVR GUI
- Follow the User Presets and Profile Creation Steps in the README if you want to create a VRto3D profile for your depth and convergence settings