Develop

Creating Gaze-able UIs

Updated: Aug 19, 2026
In this guide, you will learn how to use the quick action utility to automate setting up user interfaces that can be interacted with using eye tracking and hands. It assumes you have a scene set up with a camera rig configured for interactions and a UI you want to make gaze-interactable. If you do not have a camera rig set up, you can add one by following the instructions in the Create Comprehensive Rig guide. In the OVRManager inspector, under Quest Features > General, set Eye Tracking Support to Supported or Required.

Set up your UI

  1. In the Hierarchy panel, add a Canvas by right-clicking and selecting UI > Canvas. The canvas appears in the Hierarchy.
  2. In the Hierarchy, select the Canvas. In the Inspector, under Rect Transform, set the following settings to position the Canvas within reach and scale it to a manageable size:
    • Canvas > Render Mode: World Space
    • Rect Transform > PosX: 0
    • Rect Transform > PosY: 1.15
    • Rect Transform > PosZ: 1.5
    • Rect Transform > Width: 480
    • Rect Transform > Height: 720
    • Rect Transform > Scale: [0.0005, 0.0005, 0.0005]
  3. Add a panel to the Canvas by right-clicking on the Canvas in the Hierarchy and selecting UI > Panel. The panel appears in the Hierarchy.
  4. Add some UI elements to the panel to interact with. For example, right-click on the Panel in the Hierarchy and select UI > Button - TextMeshPro. The button element appears on the Panel. Add as many elements as you desire to create your UI.
    UI with elements

Add the Gaze Interaction

  1. Right-click on the Canvas, and select Interaction SDK > Add Gaze Interaction to Canvas. The wizard for that menu item appears.
    The quick actions menu.
  2. In the wizard, you may see a message about a missing PointableCanvasModule. Select Fix. This adds the module to the scene’s EventSystem object, or creates an object that carries both. PointableCanvasModule is a scene-level singleton, so it does not go on the Canvas.
    The fix all option
  3. If you want to further customize the interaction, adjust the interaction’s settings in the wizard. For details on the available options, see the Gaze Canvas Quick Action documentation.
  4. Select Create. The wizard automatically adds the required components for the interaction to the Canvas. It also adds components to the camera rig if those components weren’t already there.
    The automatically added GameObjects for a gaze-able UI.
Use Link to test your project.
  1. Open the Link desktop application on your computer.
  2. Put on your headset, and, when prompted, enable Link.
  3. On your development machine, in Unity Editor, select the Play button.
  4. In your headset, you can interact with the UI at a distance using gaze and hands.

Test your Interaction with an APK

Build your project into an .apk to test your project.
  1. Make sure your headset is connected to your development machine.
  2. In Unity Editor, select File > Build Profiles.
  3. Click Open Scene List to open the Scene List window.
  4. Add your scene to the Scene List by dragging it from the Project panel or by clicking Add Open Scenes.
  5. Click Build and Run to generate an .apk and run it on your headset. In the File Explorer that opens, select a location to save the .apk to and give it a name. The build process may take a few minutes.
  6. In your headset, you can interact with the UI at a distance using gaze and hands.

Learn more

Design guidelines

  • Icons and images: Learn about icons and images for immersive experiences.
  • Typography: Learn about typography for immersive experiences.
  • Panels: Learn about panels components for immersive experiences.
  • Windows: Learn about windows components for immersive experiences.
  • Tooltips: Learn about tooltips components for immersive experiences.
  • Cards: Learn about cards components for immersive experiences.
  • Dialogs: Learn about dialogs components for immersive experiences.