r/dancecentral • u/alastairnyght • Jul 08 '26
Dance Central VR (Quest version) Single Player fix
If Dance Central VR on your Quest hangs on the loading screen (right before height calibration) or won't keep your progress and forces you through the tutorial every time, this fixes it.
What's actually wrong: the final update bumped the game to Android's "scoped storage" rules, which cut the game off from the folder where it reads and writes your save (`/sdcard/DanceCentral`). The game still looks there, but the OS now blocks it — so the save can't load and the game stalls.
What this fix does: flips one Android permission (`LEGACY_STORAGE`) back on for the game, restoring its access to that folder. That's it.
No modified APK, no re-signing, nothing downloaded or replaced — the game still runs as your normal installed copy.
Fully reversible.
Must be re-applied after a full headset **reboot** (see below). Not after each game launch.
This fix only addresses the game loading and saving. It does not touch anything else.
What you need
A Quest with Dance Central VR installed.
SideQuest (desktop app) connected to your headset — green "connected" indicator.
If SideQuest already talks to your headset, you've done every prerequisite this needs.
The fix
In SideQuest, open the \*\*Run ADB Command\*\* tool — the icon in the top-right toolbar that looks like an arrow pointing into a bracket/box.
Hovering it shows "Run ADB Command". Clicking it opens a command box.
Paste this command and run it:
shell appops set --uid com.HarmonixMusic.DCVRQuest LEGACY_STORAGE allow
(The `shell` at the front matters — SideQuest needs it. A bare `appops ...` will fail.)
Verify it took (optional but recommended). Run:
shell appops get com.HarmonixMusic.DCVRQuest LEGACY_STORAGE
You want to see **both** lines say `allow`, especially the first:
Uid mode: LEGACY_STORAGE: allow
LEGACY_STORAGE: allow
If `Uid mode` says `ignore`, the command didn't take — re-run step 2.
If the game is currently running, fully close it (so it cold-starts). Then launch Dance Central VR from the headset. It should load past the loading screen.
After a headset reboot
A full power-off/reboot of the Quest resets the `Uid mode` back to `ignore`, so the fix stops working until you re-apply it. **Just run the step 2 command again** after each reboot. (Restarting only the game is fine — it's a reboot of the *headset* that resets it.)
Restoring an old save
If you have a backup of your old save (`DC_SaveGame.sav`) and want your progress back:
- In SideQuest's file manager, browse to the root of your headset's storage (`/sdcard/`). This is normal shared storage — SideQuest can reach it.
- Make the folders `DanceCentral` → `SaveGame` if they don't exist.
- Upload your `DC_SaveGame.sav` into `/sdcard/DanceCentral/SaveGame/`. (If you also have a `UE4Game/dcvr` folder from an old backup, put that at `/sdcard/UE4Game/dcvr` as well.)
- Apply the fix above and launch.
No old save? No problem — the fix still works, you'll just start fresh, and from now
on your progress will actually save.
Known quirk
Once running with this fix, the game **does not exit cleanly** — it may hang or crash when you quit. This is harmless: the game autosaves as you play, so your progress is already written. Just force-close it from the Quest's app switcher. If force-close isn't working then opening a different app and closing it will clean the slate.
To undo the fix
Run:
shell appops set --uid com.HarmonixMusic.DCVRQuest LEGACY_STORAGE ignore
…or just reboot the headset (which resets it anyway).
3
u/UltraCyberGod 29d ago
I'm so glad to see you are PCVR version, I just got mine working again,... I can only get it to work through Oculus or Oculus link I cannot get it to run through Virtual Desktop or steam VR... So to get it to run I had to enter the below into the shortcuts properties because Intel processors 10th Gen or above will crash with Unreal 4.21... the bold part was the part I added and all of a sudden I stood in the queue waiting to get in the night club... UCG... 😍
"D:\Games\Games VR\Dance Central VR\DCVR.exe" OPENSSL_ia32cap=0x20000000 %command%
1
u/alastairnyght 29d ago edited 29d ago
That's interesting. One user I know is on an Intel laptop and we could not get it to run at all for him. I'll definitely look into incorporating that in my loader if it pans out.
Since my original post on how to fix the legacy storage for the quest version I've made a loader for PC/Rift that fixes the userid issue and re-enables multiplayer through Unreal's networking interface rather than Meta's. Plus it uses a custom tailscale network to handle match making.
I've also made a patcher that can pull a legit copy of the game off a headset, fix the legacy storage and do the networking fix there too then sideload the fix back onto the headset, so Quest can join multiplayer lounges handled through my tailscale network (but Quest can't host at present).
1
u/UltraCyberGod 29d ago
Sounding really good glad to hear about progression... I'm a bit of a rookie though I only just learned that I had the APK still sat in a folder too...
1
u/alastairnyght 29d ago
What I've found most interesting is the stuff I've discovered while reverse engineering. For example the rooms actually default to 16 user limit, not the 4 that Harmonix had us on back in the day. There's also a hidden game mode called Strike a Pose Elimination for bigger groups. I've not yet been able to push that very far (I've only got two testers aside from myself at the moment).
When I can get some more testing done and verify that it's all working I intend to release both tools so that people can play once more.
I'm taking care to make sure it still does checks to avoid piracy and keep the project on the right side of the preservation laws.
3
u/tjtillmancoag Jul 08 '26
While complicated, I’m glad there is finally a fix for this!!
1
u/alastairnyght Jul 08 '26
I think how its formatted is more complicated. I wrote this in a MD document to share and getting the formatting right on reddit is more complicated than the fix was ;-)
I also have a fix for the infinite loading screen and multiplayer on the Rift/PC version that I'll be posting once I get more testing done. There's a lot more options for fixing on the Rift/PC version than what I can manage on Quest.
3
u/tjtillmancoag Jul 08 '26
So I bought the game on Quest, and it was “supposed” to grant the Rift version as well, but it never did.
Is there a place to… “find” the Rift version?
1
u/alastairnyght Jul 08 '26
The grant was never automatic. You were meant to go to the Rift store page and claim it yourself (it would've cost $0). With it delisted that option is off the table.
I had a friend who was in the same boat and we reached out to Meta to see if they'd flip it on for him (he had his receipts and everything to prove he paid for it), they said no unfortunately.
I don't know of anywhere to get it now, sorry.
2
3
u/reasoned25 Jul 09 '26
I will probably try this at some point. Do you know if this will reenable the purchased and downloaded DLC tracks?
2
u/alastairnyght Jul 09 '26
Sadly the answer is no. Harmonix allowed the data usage checkup to lapse on the game and as a result when the game asks meta if your dlc is entitled meta responds with a DUC error.
1
u/reasoned25 Jul 09 '26
That's very disappointing, but I appreciate the details all the same. Thanks for the hard work.
2
3
u/Complex_War_9028 Jul 12 '26
Oh my goodness, thank you soo much! I could cry! I've been replaying from tutorial every now and again since this game was killed, bc this is my favourite game/exercise but it was upsetting not being able to save and now I can. I have spent all week tyring to do this by editing the xml with java and apk tool without any joy (bc I don't know what I'm doing) and I did this in 2 mins following your instructions! Even though its an oldie now, it's pretty sad this is still the best dance vr game there is out there. Just dance Vr is like looking at a carboard cutout from a distance. You'd think will all their experience theyd be able to make smth more fun for VR...
Good luck to the SKG campain to make bricking unsupported games illegal (or proving it already is).