Showing results for 
Search instead for 
Did you mean: 

Virtual keyboard not displaying with UI element (OVR 1.70.0)

Level 4

I'm pulling my hair out - unable to get the virtual keyboard to display when I select a UI element. I'm probably missing something that maybe one of you will notice. This is the support document I'm following: Enable Keyboard Overlay | Oculus Developers





Requires system keyboard is checked. I can use the laser pointer to highlight text in the textbox, so the focus is working. Is there anything else I should need to be configured for the keyboard to display when a textbox UI element is focused?




Level 4

Oh, I'm losing my mind on this one, haha. When I search google for "unity oculus quest 2 keyboard not showing", I get people who suggest checking the "requires system keyboard" option. But I have it checked, and no go. I must be missing something, but I can't figure out what. We have the app completed, and this is the only thing holding us from publishing. 


Does anyone have suggestions of where I can look?

BTW, this is the support article I'm following which is not opening the keyboard: Enable Keyboard Overlay | Oculus Developers

I'm programmatically displaying the keyboard according to the keyboard overlay developer document. But, once the keyboard is displayed and DONE is pressed, the app loses focus forever. Pressing the menu button on the right controller causes the app to close and returns me to the main menu.


Here's my code for the text input in the GUI canvas in an attempt to programmatically display an on-screen keyboard.

using UnityEngine;
using UnityEngine.UI;

namespace MainMenu {

  public class tbIPAddress : MonoBehaviour {

    TouchScreenKeyboard _key;

    void Start() {

      GetComponent<InputField>().text = Assets.StaticVariables._IP_ADDRESS;


    private void OnDestroy() {

      if (_key != null && = false;


    void saveValue(string v) {

      Assets.StaticVariables._IP_ADDRESS = v;

    private void Update() {

      var tb = GetComponent<InputField>();

      if (tb.isFocused && (_key == null || !
        _key = TouchScreenKeyboard.Open(Assets.StaticVariables._IP_ADDRESS, TouchScreenKeyboardType.DecimalPad);

      if (_key != null &&
        tb.text = _key.text;


I created a new empty project, and it still won't work. As per the overlay keyboard support manual on the Oculus developer guide, I should be able to see an onscreen keyboard when I select a text input UI element. It's not happening. I started entirely from scratch in a test project, and I can choose the text, but no keyboard is displayed.


I added a button, and it works. Pressing the button triggers my event, so the event system is working. Why is the keyboard not displaying?


1) I have a working UIHelper with a raycast laser



2) My camera rig has requires a system keyboard checked



3) My UI canvas has the ovr ray caster added and configured to use the laser pointer



I can get the keyboard to display using TMP_TextInput instead of the TextInput UI element. This took three days at 8 hours a day to figure out. How will this product succeed when you can't even provide enough information for someone to display a system keyboard within 24 working hours? O_o


This has been the most frustrating product that I have ever developed for.

- Lack of documentation

- incorrect outdated documentation

- confusing documentation between rift and quest

- documentation is way too wordy

- documentation contains a million links to other partial/incomplete documents

- vague error messages when using platform-tools

- forum questions asked by users two years ago that have no response or resolution from the oculus

- incomplete tools (i.e., oculus developers hub can't upload apk yet web uploading has been removed)

- the most convoluted AppStore registration process I've ever seen. It's worse than google's, and that's impressive. It's as if the developers have never used an app store submission before


I have more, but I get heated thinking about them. I want to move past this and publish an App to your store for your product that you'll discontinue in a few weeks like Intel did with the Realsense - oh yah, and how you did with the Oculus DK and DK2 O_o.


Your ambition to lead VR will fail if you continue pushing incomplete platforms. Today, your product performance barely competes with 2015 phone VR. Combine the poor experience with incomplete developer tools and documentation; this is not the behavior I'd expect from more than a one-person team.