Integrating the OVRVirtualKeyboard Prefab
The OVRVirtualKeyboard prefab makes it easy to embed a feature-filled keyboard into your VR games and applications.
- Create a new scene or open an existing one from your project.
- If the scene lacks an OVRCameraRig, go to the Project tab, search for OVRCameraRig, and drag the prefab into the scene.
- On the Hierarchy tab, select OVRCameraRig to open the Inspector tab.
- Follow Setup for using Virtual Keyboard to configure the OVRManager.
- On the Project tab, search for OVRVirtualKeyboard, and drag the prefab into the scene.
- Position and scale the keyboard in front of the OVRCameraPrefab.
For example:
- Pos: 0.0f, -0.3f. 1.0f
- Rotation: 10.0f, 0.0f ,0.0f
- Scale: 1.0f, 1.0f, 1.0f
- You are now ready to configure input controls.
Configuring a Simple Text Entry Field The OVRVirtualKeyboard Inspector properties has a field for Text Handler which takes a Unity Input field (not a TextMesh Pro text input). To add one to your scene, follow these steps:
- Add a canvas to your scene.
- Configure the canvas as a World Space canvas in the Inspector panel for Canvas > Render Mode dropdown list.
- Position and scale the canvas in front of the OVRCameraPrefab.
For example:
- Position: 0.0f, 0.5f, 2.0f
- Size: 100.0f, 100.0f
- Scale: 0.01f, 0.01f, 0.01f
- From the Hierarchy, right click the canvas and add an input field via UI > Legacy > Input Field.
- On the Hierarchy tab, select OVRVirtualKeyboard to access its properties.
- Update OVR Virtual Keyboard > OVR Virtual Keyboard Input Field Text Handler > Input Field to InputField(Legacy)(InputField) that you recently added to the scene.
OVRVirtualKeyboard - Adding Controller Support
If your OVRCameraRig already has controller prefabs, skip to Configuring OVRController for OVRVirtualKeyboard.
To Add Controllers to OVRCameraRig
- On the Hierarchy tab, select and expand OVRCameraRig.
- Navigate to OVRCameraRig > Tracking Space > LeftHandAnchor > LeftControllerAnchor.
- On the Project tab, search for OVRControllerPrefab and then drag it into the LeftControllerAnchor object in the scene Hierarchy.
- Select the OVRControllerPrefab object you just added to the Hierarchy to open its Inspector.
- From the Inspector, under OVR Controller Helper set Controller to LTouch.
- Repeat the same steps for the right hand, under the RightControllerAnchor object, setting the Controller to RTouch.
To Configure OVRController for OVRVirtualKeyboard
- On the Hierarchy tab, navigate to the OVRVirtualKeyboard prefab to access its Inspector tab.
- On the Inspector tab, locate OVR Virtual Keyboard > Controller Input.
- Drag the LeftControllerAnchor from the Hierarchy into the Left Controller Root Transform field.
- Drag the RightControllerAnchor from the Hierarchy into the Right Controller Root Transform field.
- Set the Controller Direct Interaction and Controller Ray Interaction values to true as appropriate for the implementation.
Configure the Controller Raycaster as needed.

OVR Virtual Keyboard - Adding Hand Support
If your OVRCameraRig already has hand prefabs, skip to Configuring OVRHand for OVRVirtualKeyboard.
To Add Hands to OVRCameraRig
- On the Hierarchy tab, select and expand OVRCameraRig.
- Navigate to OVRCameraRig > Tracking Space > LeftHandAnchor.
- On the Project tab, search for OVRHandPrefab and then drag it into the LeftHandAnchor object in the scene Hierarchy.
- Select the OVRHandPrefab object you just added to the Hierarchy to open its Inspector tab.
- Update the following inspector properties:
- OVR Hand > Hand Type to Hand Left.
- OVR Skeleton > Skeleton Type to Hand Left.
- OVR Mesh > Mesh Type to Hand Left.
- Repeat the same steps for the right hand, under the RightHandAnchor object, setting the hand type to Hand Right.
Configuring OVRHand for OVRVirtualKeyboard
- On the Hierarchy tab, navigate to the OVRVirtualKeyboard prefab to access its Inspector tab.
- On the Inspector tab, locate OVR Virtual Keyboard > Hand Input. Set the Hand Left and the Hand Right fields as OVRHandPrefab(OVR Hand).
- Set the Hand Direct Interaction and Hand Ray Interaction values to true as appropriate for the implementation.
Configure Hand Raycast as applicable.

Integrated OVRVirtualKeyboard Prefab in a VR application
Your VR games and applications with a successfully integrated OVRVirtualKeyboard prefab should look like the image below:
