Table of Contents
Dance Central VR
Both the PC Rift and Quest versions of the games have issues starting. There is also some Mixed Reality Capture features in them.
PC Rift: Infinite Loading Screen Issue
Found using API Monitor, when the game calls function ovr_GetLoggedInUserID it gets a result of 0 instead of something else, which seems to prevent it from doing other things it needs to startup.
The dumbest/easiest way I've found to get past the issue is to NOP out one of the calls from DCVR-Win64-Shipping.exe which allows the game to start, already purchased DLC will work, but the game will act offline (like Quest 1 version) and offline leaderboard will show name as “None”.
Patching DCVR-Win64-Shipping.exe version 1.2.2:
- Make a backup of DCVR-Win64-Shipping.exe
- Use your favourite Hex Editor to open this file.
- Go to file offset: 0x2BBE25
- Unmodified the byte here will be: FF
- Change that byte to: 90
- Save and try the game as you normally would (in my case it's with that modified Revive).
PC Rift: Revive ExternalCamera
The LIV/Mixed Reality using Mods page has the notes regarding the modified version of Revive (https://github.com/Jas2o/Revive-ExternalCamera) that allows SteamVR users to use a tracked camera with Oculus MRC games.
Quest 2/3: Infinite Loading Screen
While the Quest version has similar function call to PC Rift that doesn't seem to be the problem. Instead it's the change in Android 10 regarding scoped storage. Playing the game with storage permissions turned off kinda works but you'd need to play the tutorial every time…
Instead we can modify the game to allow legacy storage access. Already purchased DLC will NOT work and the game will act offline (like Quest 1 version).
Tools you will need:
- SideQuest PC app (Advanced): https://sidequestvr.com/download
- Apktool wrapper script and latest version jar: https://apktool.org/docs/install
- Uber Apk Signer jar: https://github.com/patrickfav/uber-apk-signer/releases/latest
- Java for those tools. I was using Eclipse Temurin JDK with Hotspot 17 (x64)
Prepare modification:
- Backup the game's APK and OBB using SideQuest.
- At the top right press the 9 squares icon that says 'Currently installed apps'
- Next to Dance Central, press the gear icon.
- Backup game data and apk file.
- The APK will be here: %appdata%\SideQuest\backups\com.HarmonixMusic.DCVRQuest\apks
- The OBB will be under here: %appdata%\SideQuest\backups\com.HarmonixMusic.DCVRQuest\data\YYYY-MM-DD-TIME\obb\
- Extract the APK file.
- apktool.bat d -o dcvrextract dcvrbackup.apk
- Inside the dcvrextract folder, open AndroidManifest.xml in a text editor.
- Find the line starting with <application
- Within that application tag add the following text:
- android:requestLegacyExternalStorage=“true”
- Save the AndroidManifest.xml file.
- Build the APK file.
- apktool.bat b -o dcvr.apk dcvrextract
- Debug sign the APK.
- java -jar uber-apk-signer.jar –apks dcvr.apk
- This will give you a dcvr-aligned-debugSigned.apk file.
Install using SideQuest app:
- You first need to have DCVR uninstalled
- SideQuest 'Currently installed apps', Dance Central's gear icon, uninstall app.
- Install dcvr-aligned-debugSigned.apk
- Manage files, go into Android > obb
- Create folder: com.HarmonixMusic.DCVRQuest
- Inside that folder, upload main.131786901.com.HarmonixMusic.DCVRQuest.obb
- This file was in the backup you took earlier, somewhere like: %appdata%\SideQuest\backups\com.HarmonixMusic.DCVRQuest\data\YYYY-MM-DD-TIME\obb\
- In the gear icon you can enable permissions for read and write external storage.
- Run the game, ignore the prompts to restore the unmodified game.
- Pray until you see the loading screen get replaced by the Dance Central logo, asked to calibrate and it goes in as normal.
Save files:
- From the root of Quest's storage there is folders DanceCentral and UE4Game (under that has dcvr).
- I copied these from my Quest 1 to Quest 3.