
I built a small native Android XR app that plays 180° side-by-side (SBS) stereoscopic video on a curved hemisphere in full-space mode — the kind of immersive playback you want from a VR headset, without going through any third-party player. It targets devices with OpenXR support and is tested on a Samsung Galaxy XR.
The app is now on the Play Store:
👉 Android XR 180° SBS 3D Video Player on Google Play
Note: if the listing isn’t live yet, it’s still completing Google’s review — it’ll populate shortly.




StereoMode.SIDE_BY_SIDE)video/* source; URI permission is persistedThree runtime pieces are wired together in a single ComponentActivity:
Session from androidx.xr.runtime — created once on launch.SurfaceEntity from androidx.xr.scenecore shaped as a Hemisphere(15m) in SIDE_BY_SIDE stereo mode. This is the 3D screen.Two controls are intentionally ported from a Unity reference: pitch is derived from the accelerometer gravity vector (Android XR doesn’t expose a head-pose API for this case), and zoom scales the whole hemisphere entity since there’s no skybox-shader equivalent.
Prefer to sideload? Grab the debug APK from the v1.0 release:
👉 Download app-debug.apk (v1.0)
Heads up — this is a debug build. It’s signed with the Android debug keystore (not a release key), has
android:debuggable="true", ships unminified, and is intended for sideloading and testing only. For everyday use, install the Play Store build above.
adb install -r app-debug.apk adb shell am start -n space.mathewvarghese.androidxr3dsbsvideoplayer/.MainActivity
Code, issues, and full release notes are on GitHub:
👉 github.com/mathewvarghesemanu/android-xr-sbs180-3d-player
Pull requests and bug reports welcome — especially from anyone with other OpenXR Android headsets to test on.