Issue with Oculus Overlay Keyboard in Non-VR Android Build

Hello Community,

edit confirmed it has to do with the installation of the below (probably core), per my tests in a new unity project. Meta XR Core SDK | Integration | Unity Asset Store or
Meta XR Haptics SDK | Integration | Unity Asset Store

Upon adding the ‘required’ (below) - it works. BUT, after i build and push it into android store, all the devices are rejected because no mobile device is picked up as supporting oculus.software.overlay_keyboard. So this is completely stuck and is a breaker for now.


I’m currently facing an issue while building an application (with XR integration) for Android, target using Unity. Despite not targeting Oculus or VR platforms, I’m encountering an error related to the Oculus overlay keyboard when interacting with TextMeshPro input fields. It should be noted that my Unity does include com.unity.xr.oculus plugin installed (but my current build is for Android).

The specific error message in my log is as follows:

2024/03/15 19:14:14.274 10036 10059 Error Unity UnityEngine.TouchScreenKeyboard:.ctor(String, TouchScreenKeyboardType, Boolean, Boolean, Boolean, Boolean, String, Int32)
2024/03/15 19:14:14.274 10036 10059 Error Unity UnityEngine.TouchScreenKeyboard:Open(String, TouchScreenKeyboardType, Boolean, Boolean, Boolean, Boolean, String, Int32)
2024/03/15 19:14:14.274 10036 10059 Error Unity TMPro.TMP_InputField:ActivateInputFieldInternal()
2024/03/15 19:14:14.274 10036 10059 Error Unity TMPro.TMP_InputField:LateUpdate()```

This error occurs when attempting to focus on a TMP input field, suggesting an unexpected invocation of the Oculus keyboard functionality.

Steps I've Taken:

- I've ensured that the Oculus SDK and VR-related components are not included in the build. Meaning, under XR Plugin Management, Android -> Oculus is not selected

![9703019--1385498--upload_2024-3-15_20-38-26.png|359x239](upload://r4hhE5HvL9G4DHBBRev0xmTpPhl.png)

- I've attempted to exclude VR-specific features and permissions from the AndroidManifest.xml, including explicitly setting the oculus.software.overlay_keyboard feature to tools:node="remove".

Environment:

- Unity Version: 2022.3.15f1
- TMP Version: 3.0.6

Any insights or similar experiences shared would be greatly appreciated. Additionally, if there are any known workarounds or specific settings I might have overlooked, I'd be keen to learn about those as well.

Thank you in advance for your time and help!

You could use IPostGenerateGradleAndroidProject to remove that permission

Thank you for your input.

  • My issue centers on the Meta XR SDK triggering Oculus functionalities, like the overlay keyboard, in non-VR Android builds. Despite using in the manifest to remove the Oculus keyboard feature, TMP inputs still seem to request it, likely due to the SDK’s presence.
  • Adding the Oculus keyboard feature back with fixes the error for local Android builds but leads to a major issue: the Google Play Store then excludes all non-VR devices, mistaking the app for VR-only.

Anyway: Confirmed a bug and this is created: https://issuetracker.unity3d.com/issues/android-mobile-keyboard-fails-to-open-on-mobile-android-devices-with-error-oculus-overlay-keyboard-is-disabled-add-oculus-dot-software-dot-overlay-keyboard-feature-request-to-your-android-manifest-dot-when-building-with-meta-xr-all-in-one-sdk-added Unfortunately, there isn’t a clear workaround i could find.

1 Like