diff --git a/CLAUDE.md b/CLAUDE.md index 94b95e7..060d6a4 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -618,7 +618,8 @@ rmdir /s /q "Binaries" | Build | Output | |-------|--------| | Windows Editor | `Plugins/MosisSDK/Binaries/Win64/UnrealEditor-MosisSDK.dll` | -| Android | `Binaries/Android/MosisUnreal-arm64.apk` | +| Android APK | `Binaries/Android/MosisUnreal-arm64.apk` | +| Android OBB | `Binaries/Android/main.1.com.omixlab.MosisUnreal.obb` | #### Requirements @@ -626,6 +627,59 @@ rmdir /s /q "Binaries" - Android Build Tools 36.1.0 (for AIDL compiler) - `ANDROID_HOME` environment variable set +#### Quest Deployment + +**IMPORTANT**: Git Bash on Windows converts Unix paths to Windows paths. Use `MSYS_NO_PATHCONV=1` prefix for all adb push commands. + +```bash +# Set Quest device ID (check with: adb devices -l) +QUEST=2G0YC5ZF7W01T0 + +# Install APK +adb -s $QUEST install -r D:/Dev/Mosis/MosisUnreal/Binaries/Android/MosisUnreal-arm64.apk + +# Create OBB temp directory +adb -s $QUEST shell "mkdir -p /data/local/tmp/obb/com.omixlab.MosisUnreal" + +# Push OBB to temp location (MUST use MSYS_NO_PATHCONV=1) +MSYS_NO_PATHCONV=1 adb -s $QUEST push D:/Dev/Mosis/MosisUnreal/Binaries/Android/main.1.com.omixlab.MosisUnreal.obb /data/local/tmp/obb/com.omixlab.MosisUnreal/ + +# Move OBB to final location +adb -s $QUEST shell "rm -rf /sdcard/Android/obb/com.omixlab.MosisUnreal" +adb -s $QUEST shell "mv /data/local/tmp/obb/com.omixlab.MosisUnreal /sdcard/Android/obb/" + +# Start MosisService first, then MosisUnreal +adb -s $QUEST shell am start -n com.omixlab.mosis/.MainActivity +sleep 3 +adb -s $QUEST shell am start -n com.omixlab.MosisUnreal/com.epicgames.unreal.GameActivity + +# Monitor logs +adb -s $QUEST logcat -s MosisSDK MosisOS MosisTest +``` + +**Full rebuild and deploy sequence**: +```bash +# 1. Build Android APK+OBB +"D:\Epic\UE_5.5\Engine\Build\BatchFiles\RunUAT.bat" BuildCookRun \ + -project="D:\Dev\Mosis\MosisUnreal\MosisUnreal.uproject" \ + -platform=Android -clientconfig=Development \ + -build -cook -stage -pak -package -noP4 + +# 2. Stop app, push APK and OBB, restart +QUEST=2G0YC5ZF7W01T0 +adb -s $QUEST shell am force-stop com.omixlab.MosisUnreal +adb -s $QUEST install -r D:/Dev/Mosis/MosisUnreal/Binaries/Android/MosisUnreal-arm64.apk +adb -s $QUEST shell "mkdir -p /data/local/tmp/obb/com.omixlab.MosisUnreal" +MSYS_NO_PATHCONV=1 adb -s $QUEST push D:/Dev/Mosis/MosisUnreal/Binaries/Android/main.1.com.omixlab.MosisUnreal.obb /data/local/tmp/obb/com.omixlab.MosisUnreal/ +adb -s $QUEST shell "rm -rf /sdcard/Android/obb/com.omixlab.MosisUnreal && mv /data/local/tmp/obb/com.omixlab.MosisUnreal /sdcard/Android/obb/" +adb -s $QUEST shell am start -n com.omixlab.MosisUnreal/com.epicgames.unreal.GameActivity +``` + +**Common issues**: +- App stuck on loading screen: OBB not pushed or wrong version +- `adb push` path errors: Missing `MSYS_NO_PATHCONV=1` prefix +- Service not connecting: Start `com.omixlab.mosis` before the game + #### VR Pointer Interaction The MosisSDK includes `UMosisPointerComponent` for VR ray-based touch interaction.