add Quest hand tracking support and update docs

- Add hand tracking manifest entries to MosisSDK_UPL.xml
  - oculus.software.handtracking feature (required=false)
  - horizonos.permission.HAND_TRACKING permission
- Add OculusXR hand tracking settings to DefaultEngine.ini
- Update README with OBB deployment instructions and Quest config
This commit is contained in:
2026-01-17 13:38:19 +01:00
parent 2c0c4599fe
commit 87191abbce
3 changed files with 71 additions and 3 deletions

View File

@@ -98,3 +98,12 @@ ConnectionType=USBOnly
bUseManualIPAddress=False
ManualIPAddress=
[/Script/OculusXRHMD.OculusXRHMDRuntimeSettings]
bSupportHandTracking=True
HandTrackingSupport=ControllersAndHands
HandTrackingFrequency=High
HandTrackingVersion=V2
[/Script/OpenXRSettings.OpenXRSettings]
bEnableHandTracking=True

View File

@@ -279,11 +279,31 @@ else if (!TriggerPressed && WasTriggerPressed)
## Device Testing
### Installation
The Android build produces both an APK and an OBB file. **Both must be deployed for each build**:
```batch
:: Install both apps
adb install -r path\to\MosisService.apk
:: Install APK
adb install -r Binaries\Android\MosisUnreal-arm64.apk
:: Create OBB directory and push OBB file
adb shell mkdir -p /sdcard/Android/obb/com.omixlab.MosisUnreal
adb push Binaries\Android\main.1.com.omixlab.MosisUnreal.obb /sdcard/Android/obb/com.omixlab.MosisUnreal/
:: Install MosisService
adb install -r path\to\MosisService.apk
```
Alternatively, use the generated install script:
```batch
cd Binaries\Android
Install_MosisUnreal-arm64.bat
```
### Launching
```batch
:: Launch service first
adb shell am start -n com.omixlab.mosis/.MainActivity
@@ -291,7 +311,44 @@ adb shell am start -n com.omixlab.mosis/.MainActivity
adb shell am start -n com.omixlab.MosisUnreal/com.epicgames.unreal.GameActivity
:: Monitor logs
adb logcat -s MosisSDK MosisTest RMLUI
adb logcat -s MosisSDK MosisTest RMLUI LogMosisClient LogMosisSDK
```
### Expected Log Output
Successful connection shows:
```
LogMosisSDK: serviceConnected callback received
LogMosisClient: onServiceInitialized: true
LogMosisClient: Create: initOS returned true
LogMosisSDK: serviceConnected: MosisClient created successfully
LogMosisClient: onBufferAvailable: 540x960, format=1
LogMosisSDK: Buffer callback: buffer=0x...
```
## Meta Quest Configuration
### Hand Tracking Support
The plugin includes hand tracking support to allow launching on Quest devices without controllers. This is configured in `MosisSDK_UPL.xml`:
```xml
<uses-feature android:name="oculus.software.handtracking" android:required="false" />
<uses-permission android:name="horizonos.permission.HAND_TRACKING" />
```
**Note**: Uses `horizonos.permission.HAND_TRACKING` (not the deprecated `com.oculus.permission.HAND_TRACKING`).
### OculusXR Settings
Hand tracking is also enabled in `DefaultEngine.ini`:
```ini
[/Script/OculusXRHMD.OculusXRHMDRuntimeSettings]
bSupportHandTracking=True
HandTrackingSupport=ControllersAndHands
HandTrackingFrequency=High
HandTrackingVersion=V2
```
## Version History

View File

@@ -5,6 +5,8 @@
<queries>
<package android:name="com.omixlab.mosis" />
</queries>
<uses-feature android:name="oculus.software.handtracking" android:required="false" />
<uses-permission android:name="horizonos.permission.HAND_TRACKING" />
</addElements>
</androidManifestUpdates>
<proguardAdditions>