04-05-2024 12:29 AM - edited 04-05-2024 12:39 AM
Hello, I want to use system keyboard to type in unity text mesh pro input field. when i clicked in input field some time it open native keyboard and sometime not (I am using meta quest 3). Is it know bug to meta quest 3 ? In Oculus quest 2 it working fine. I have enabled required system keyboard and set target device to Quest 3 also in OVRManager script.
I have also checked my AndroidManifest file and found there is entry of
<uses-feature android:name="oculus.software.overlay_keyboard" android:required="false" />
My Unity ver is 2022.3.19f1.
So what is the problem? Its very frustrating to continue click on input field then some times it only.
Solved! Go to Solution.
04-07-2024 08:58 PM - edited 05-31-2024 11:52 AM
I'm running into this issue too. I haven't found a proper solution in the several days I've spent trying to fix it.
This is my jank fix - attach this script to all your text fields (I use TMP input fields). It reopens the keyboard if it doesn't appear properly. Please don't mark this as the solution though as this is a horrible workaround
using System.Collections;
using System.Collections.Generic;
using System.Threading.Tasks;
using TMPro;
using UnityEngine;
public class OculusSystemKeyboardJankFix : MonoBehaviour
{
private TMP_InputField field;
private void Awake()
{
field = GetComponent<TMP_InputField>();
field.onSelect.AddListener(s => ShowKeyboardDelay());
}
private async void ShowKeyboardDelay()
{
await Task.Delay(500);
if (!TouchScreenKeyboard.visible)
{
field.ActivateInputField();
TouchScreenKeyboard.Open(field.text, TouchScreenKeyboardType.ASCIICapable);
}
}
}
04-05-2024 05:28 AM
Can any one pls help me here !
04-05-2024 05:41 AM
I think it could be related to device settings or configurations. you should make sure that your Unity project is properly configured for the Meta Quest 3 and include any necessary plugins or SDK updates.
04-05-2024 05:59 AM
Hello, thanks for your reply. I have checked all the necessary setting for meta quest 3. Point is that when i clicked multiple times inside input field system keyboard open sometimes on quest 3. But on quest 2 by one click keyboard opens. Is there unity ver problem may be for quest 3 ?
04-07-2024 08:58 PM - edited 05-31-2024 11:52 AM
I'm running into this issue too. I haven't found a proper solution in the several days I've spent trying to fix it.
This is my jank fix - attach this script to all your text fields (I use TMP input fields). It reopens the keyboard if it doesn't appear properly. Please don't mark this as the solution though as this is a horrible workaround
using System.Collections;
using System.Collections.Generic;
using System.Threading.Tasks;
using TMPro;
using UnityEngine;
public class OculusSystemKeyboardJankFix : MonoBehaviour
{
private TMP_InputField field;
private void Awake()
{
field = GetComponent<TMP_InputField>();
field.onSelect.AddListener(s => ShowKeyboardDelay());
}
private async void ShowKeyboardDelay()
{
await Task.Delay(500);
if (!TouchScreenKeyboard.visible)
{
field.ActivateInputField();
TouchScreenKeyboard.Open(field.text, TouchScreenKeyboardType.ASCIICapable);
}
}
}
04-08-2024 06:01 AM
Oh i have same issue in Quest2 (don't test on Q3). It can doesn't show at all or can show but don't change input when typing and some times it works good.
04-08-2024 06:03 AM
i've tried same solution in my project and it doesn't fix issue. It sometimes works and sometimes doesn't
04-08-2024 11:48 PM
Thanks @jtriveri. It worked.
04-09-2024 04:52 AM
@jtriveri, Do you have idea why with your solution if field reopened after delay it has "normal" background instead of "selected"?
04-09-2024 11:56 AM - edited 04-09-2024 12:00 PM
Are you talking about the appearance of the text field? You might be able to select the text field in the same lines where I open the keyboard.
EventSystem.current.SetSelectedGameObject(field.gameObject);