UEVR (Universal Unreal Engine VR Mod)

repository·master·Indexed 26 days ago

https://github.com/praydog/uevr

A Universal Unreal Engine VR Mod that enables full 6DOF and stereoscopic 3D support for games built on Unreal Engine 4 and 5. It allows users to play non-VR games in VR using an injection-based workflow and various rendering methods, including Native Stereo, Synchronized Sequential, and AFR. The project includes a frontend injector (UEVRInjector.exe), a Lua API via LuaVR, and integration with OpenVR and OpenXR runtimes.

Tokens
4.7K
Snippets
8
Records
38
Agent score
89%

What's inside UEVR

  1. Configure compiler requirements for sol2

    master

    sol2 requires C++17 features. Ensure your compiler is configured with the appropriate standard flags (e.g., -std=c++17, -std=c++1z, or -std=c++2a).

    Supported Compilers:

    • GCC 7.x.x+ (MinGW 7.x.x+)
    • Clang 3.9.x+
    • Visual Studio 2017 Community (Visual C++ 15.0)+

    It is also compatible with Android (GCC) and iOS (Apple-clang) platforms.

  2. Compile UEVR via VSCode

    master

    Follow these steps to use the CMake Tools extension in VSCode:

    1. Install the CMake Tools extension.
    2. Open the UEVR folder in VSCode.
    3. Press Ctrl+Shift+P and select CMake: Configure.
    4. When "Select a kit" appears, select Visual Studio Community 2022 Release - amd64.
    5. Select the desired build configuration (usually Release or RelWithDebInfo).
    6. Compile by pressing Ctrl+Shift+P and selecting CMake: Build or by pressing F7.
  3. Install and Setup UEVR

    master

    To use UEVR, you must first install the .NET 6.0 SDK (x64 version for Windows). After installation, follow these steps to inject the mod into a game:

    1. Download the latest release from the Releases page.
    2. Launch UEVRInjector.exe.
    3. Launch your target game.
    4. Select the game from the process dropdown list in the injector.
    5. Select your desired runtime (OpenVR or OpenXR).
    6. Toggle existing VR plugin nullification if required by the game.
    7. Configure your pre-injection settings.
    8. Click Inject.
    https://dotnet.microsoft.com/en-us/download/dotnet/6.0
  4. Use the UEVR In-Game Menu

    master

    Access the in-game menu by pressing the Insert key on a keyboard or L3+R3 on an XInput-based controller. The menu opens by default at startup.

    While the menu is open, you can use the following shortcuts by holding RT:

    ShortcutAction
    RT + Left StickMove the camera left/right/forward/back
    RT + Right StickMove the camera up/down
    RT + BReset camera offset
    RT + YRecenter view
    RT + XReset standing origin
  5. Integrate sol2 into C++ projects

    master

    sol2 is a header-only C++ library for binding to Lua (supporting Lua 5.1+ including LuaJIT). You can integrate it by including the header files directly. For the simplest setup, you can use a single-header version for drag-and-drop integration.

    #include <sol/sol.hpp>
  6. Install and use UEVR

    master

    To use UEVR, extract UEVR.zip to a folder of your choice and follow these steps:

    1. Launch the frontend GUI (UEVRInjector.exe).
    2. Launch the target game.
    3. Select the game from the process dropdown list in the GUI.
    4. Select your desired runtime (OpenVR or OpenXR).
    5. Toggle existing VR plugin nullification if required by the game.
    6. Configure your pre-injection settings.
    7. Click Inject.
  7. Prepare your game for UEVR injection

    master

    To ensure stability and visibility during injection, perform the following tasks before launching the injector:

    • Disable HDR: HDR can cause the game to appear darker than usual when using UEVR.
    • Run as Administrator: If the game does not appear in the UEVRInjector.exe process list, restart the injector as an administrator.
    • Handle existing VR plugins: Pass -nohmd to the game's command line arguments and/or manually delete any existing VR plugins from the game's directory.
    • Disable conflicting overlays: Turn off software like Rivatuner, ASUS software, Razer software, or Overwolf to prevent crashes.
    • Disable specific graphical settings: Disable features like DLSS Frame Generation to avoid crashes.
    • Windows Settings: Consider disabling Hardware Accelerated GPU Scheduling in Windows Graphics settings.
  8. Prerequisites for compiling UEVR

    master

    Before compiling UEVR, ensure you meet the following requirements:

    • EpicGames GitHub Access: You must have access to the EpicGames GitHub organization. This is required because the UESDK submodule is a fork of the EpicGames/UnrealEngine repository.
    • SSH Configuration: You must have an SSH key set up with your GitHub account and an SSH agent running to clone the UESDK submodule.
    • Compiler: A C++23 compatible compiler is required. Visual Studio 2022 is recommended; other compilers (non-MSVC) are untested.
    • Build Tools: CMake is required.