An attempt to port Quest games over to PICO.
This replaces the following libs:
And replaces them with a proxy, that relays functions/information over to the PICO libs.
Only a limited amount of Unity games are supported.
Unreal games are not supported.
Install the Android NDK
Required version: r21e (21.4.7075529).
https://developer.android.com/ndk/downloads
(I recommend you install it via Android Studio)
Run either the compile_windows.ps1
powershell script or the compile_linux.bash
bash script.
Don't forget to add the toolchain /bin/ to your path!
(TODO is to make a Makefile...)
You will need the following
You'll need the following files (both from my repo):
(Oculus)
(Pico)
(C++)
Make sure you take the ones I committed to the repo, they have some patched strings/instructions to make them work.
/lib/arm64-v8a
AndroidManifest.xml
, inside of <application>...</application>
add:<meta-data android:name="pvr.app.type" android:value="vr"/>
/assets/bin/Data/UnitySubsystems/OculusXRPlugin/UnitySubsystemsManifest.json
"name": "PxrPlatform",
Game | Works | Doesn't work |
---|---|---|
Keep Talking and Nobody Explodes | Fully functional | / |
Waltz of the Wizard | Sound | No video |
Job Simulator | Video Controllers |
Audio glitches Physics glitches |
I Expect You To Die | / | Won't work without custom implementation |
Currently only a limited amount of Unity games actually functionally work.
Unreal games will not work without further reverse engineering efforts.
Figuring out why certain games don't work is going to require A LOT of reverse engineering.
(Mostly just incompatible API calls with Oculus & PICO, different GUID's, etc, that can not simply just be solved by using a proxy)
Why certain games don't work: