Skip to content

keton/chihuahua

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Chihuahua

Simple injector/game launcher for Universal Unreal Engine VR mod (UEVR).

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Acknowledgments

About The Project

Universal Unreal Engine VR mod (UEVR) by Praydog allows you to play any Unreal Engine 4.8-5.2 game in VR. Thing is setting it up for successful injection is bit convoluted and tricky for non technical users.

Chihuahua aims to solve this, making whole process as easy as dragging and dropping game .exe on chihuahua executable. All hard decisions will be handled for you.

Compared to injector bundled with UEVR Chihuahua:

  • makes all the decisions for the user
  • automatically downloads and keeps UEVR up to date (now with Nightly build support)
  • deals with certain things that can make injection fail (choosing right executable, selecting correct VR runtime, disabling unwanted UE plugins, adding pre injection delay)
  • cleans up leftover processes when game exits. This allows cloud saves to upload properly
  • aims to provide easy to understand message about what's going on and especially what went wrong
  • stays out of your way. In case of successful injection Chihuahua will exit just after the game does
  • is oriented around spawning new game process not attaching to an existing one
  • can act as a 'panic button' - closing Chihuahua's window will automatically force close the game and do the cleanup
  • does not need .Net framework installation to work

(back to top)

Built With

  • .Net8.0
  • C#

(back to top)

Getting Started

This is an example of how you may start your first UEVR game.

For highest chance of success pick one of 'works perfectly' titles with good user opinion. To check all that take a look at Flat2VR Discord, #ue-games channel. Chihuahua was tested on Oculus Quest 3 and Pico 4 over Virtual Desktop, Pico Streaming Assistant, Pico Connect, Air Link and Steam Link. It is expected to work on Quest 2 and Quest Pro as well.

Other streaming software and HMDs may be compatible but that is currently untested. In such case you may want to specify VR runtime (OpenVR/OpenXR) using --runtime parameter. Feel free to try both. If that works please open an Issue and let me know, I'll add HMD + runtime combination to the auto detection process.

In case above fails you can try injector bundled with UEVR.

Prerequisites

Antivirus exception

Make a folder on your PC and add its location to your antivirus exceptions. The way UEVR mod works triggers false positives with antivirus software. It's up to you to decide if making an exception or pausing antivirus to play a game is ok. Feel free to review all source code here and in UEVR repo.

Download Chihuahua

Latest release is here. Your browser/antivirus may need some reassuring for the download to happen. Unpack contents to the folder you've added to antivirus exceptions.

(back to top)

Usage

Drag and drop game .exe on top of chihuahua.exe

drag drop run demo Chihuahua's window has been put on top of game for demonstration purposes only

  1. go to your game's launcher i.e. Steam or Epic
  2. use 'browse game files' option to open game installation folder and find game executable
  3. open folder you've unpacked chihuahua in another window next to it
  4. put on your headset and start Virtual Desktop session
  5. drag game executable and drop it on top of chihuahua.exe
  6. game should start
  7. after 10 seconds UEVR mod will start and your headset movement will start affecting game camera. It's strongly suggested to click trough intro cinematics and get to the menu or load a save before that happens. Some games don't like being injected on early boot.
  8. if it worked - congratulations. Follow official UEVR docs to get the most of the mod.
  9. if it did not - close the game, there should be a console window waiting with log that indicates what went wrong.
  10. in case of 'Fatal Error' message window on top of your game try again. UEVR is still in early stages, some crashes are expected.

Command line program

Chihuahua is a well behaved console application. Double click chihuahua.exe for up to date list of options.

chihuahua "c:\full\path\to\you\game\folder\game.exe" --delay 30

Options:

  • full path to game .exe in double quotes. You can get this from your launcher by going to game properties and clicking 'browse local files'.

  • --delay <number of seconds> - how long to wait between launching the game and starting UEVR injection process

  • --launch-cmd <launcher URI> - some Epic Store games don't behave well when launched directly from .exe. This parameter allows you to specify launcher specific URI on top.

    Steam URIs look like this: steam://rungameid/1730590.

    Epic Store like this: com.epicgames.launcher://apps/da36711940d4460da57d8d6ad67236a4%3Aa1afcdb1d2344232954be97d4b86b9a8%3Acfbbc006f3ee4ba0bfff3ffa46942f90?action=launch&silent=true

    To figure out correct value make a game desktop shortcut in your launcher and check shortcut properties.

  • --launch-args "arg1 arg2" - you can pass arguments to --launch-cmd process and in case that is not specified to game itself. Common use case would be to add --launch-args "-nohmd -dx11" to help with game compatibility.

  • --runtime <OpenVR|OpenXR> - override runtime autodetection, useful if process fails. OpenVR requires SteamVR to be installed. OpenXR requires OpenXR runtime to be set correctly in your HMD software (probably it is unless you have multiple HMDs/VR streaming apps).

  • --uevr-build <Nightly|Release> - override UEVR version for auto updater. Release builds are used by default. Nightly builds may be less stable but contain the latest features.

Game launch shortcut

Keep in mind that you can make a desktop shortcut to chihuahua.exe, go to shortcut properties and add full path to game executable in double quotes as a parameter. This will make shortcut to launch and inject the game.

Rai Pal integration

Rai Pal is an amazing game launcher by Raicuparta.

You can integrate Chihuahua by unpacking it to %APPDATA%\raicuparta\rai-pal\data\mod-loaders\runnable\mods\chihuahua. Then after starting Rai Pal and clicking on installed game there will be new Chihuahua launch button. image

(back to top)

Acknowledgments

Please consider supporting Praydog. He's the wizard class programer making UEVR possible.

And just to avoid any doubt Chihuahua is just a launcher. All magic that happens once your game starts is solely due to epic level of technical achievement that is UEVR mod.

(back to top)