Develop

Getting Started with Interaction SDK

Updated: Sep 14, 2026
This tutorial explains how to create your first interactions using Interaction SDK. You will add the Interaction SDK rig to your scene, set up a UI, and add interactions to enable users to interact with the UI.
Runtime Unity XR and the Project Setup Tool
If you must use Unity XR instead of the Meta XR Core SDK, see Getting Started with Interaction SDK and Unity XR.

Prerequisites

Before proceeding with this tutorial, complete the setup steps outlined in the following sections:

Step 1: Add the rig

In Interaction SDK, the rig is a predefined collection of GameObjects that enables you to see your virtual environment and initiate actions, such as grabbing, teleporting, or poking. The OVRComprehensiveInteractionRig prefab contains this rig. It integrates many of the core interactions and features offered by Interaction SDK, wired up according to best practices, including support for poke, ray, multiple types of grabs, and locomotion. It also adds support for hands, controllers, and controller-driven hands to your scene.
The rig reads hand, controller, and headset data from an OVRCameraRig, which handles the camera system and head-movement tracking. Adding the rig as a child of the OVRCameraRig is what the Quick Action does, and it lets the editor resolve the rig’s camera reference by searching the parent objects. If you place the rig elsewhere in the Hierarchy panel, assign the camera rig on the rig’s OVRCameraRigRef component yourself.
Instead of manually adding these prefabs to the scene, we recommend using Interaction SDK Quick Actions, which finds or adds any missing dependencies such as the camera rig. You can read a more advanced guide about how to use this rig in Comprehensive Interaction Rig.
  1. Delete the default Main Camera if it exists, since Interaction SDK uses its own camera rig.
  2. Right click on the Hierarchy and select the Interaction SDK > Add OVR Comprehensive Interaction Rig Quick Action.
    Using the Interaction SDK Rig Wizard
  3. If you have an OVRCameraRig in the scene, it appears referenced in the wizard. If there is no camera rig, click Fix All so the wizard creates one.
    Fix All Button
  4. Select Generate As Editable Copy and set the Prefab Path to store an intermediary copy of the rig prefab so you can store as many overrides as needed.
    The OVR Comprehensive Interaction Rig Wizard with the Generate As Editable Copy checkbox selected and the Prefab Path set to InteractionSDK/ComprehensiveInteractors.prefab.
  5. If you want to further customize the rig, adjust the settings in the wizard. For details on the available options, see the OVR Comprehensive Interaction Rig Quick Action documentation.
  6. Click Create to add the OVR Comprehensive Interaction Rig to the scene.
    Hierarchy panel showing the OVRComprehensiveInteractionRig GameObject added as a child of OVRCameraRig.
  7. In the Hierarchy, select the OVRCameraRig.
  8. On the Inspector tab, go to OVR Manager > Quest Features, and then on the General tab, in the Hand Tracking Support list, select Controllers and Hands, Hands Only or Controllers only depending on your needs. The Hands Only option lets you use hands as the input modality without any controllers.
    The Quest Features General tab in the Inspector with Hand Tracking Support set to Controllers And Hands.

Step 2: Set up your UI

  1. In the Project panel, navigate to the Packages > Meta XR Interaction SDK Essentials > Runtime > Sample > Objects > UISet > Prefabs > Backplate folder and add a backplate for the UI by dragging the EmptyUIBackplateWithCanvas prefab to the Hierarchy panel.
    Drag and drop the backplate prefab
    The backplate prefab contains a Canvas, a background for the UI, some basic layout components, and ray and poke interactable components to enable direct touch and raycast interactions with the UI.
    Scene view showing the EmptyUIBackplateWithCanvas prefab placed in the scene.
  2. In the Hierarchy, select the CanvasRoot. In the Inspector, under Rect Transform, use the Width and Height properties to set the size of the Canvas. This example uses the following settings to scale it to a reasonable size for a few components:
    • Rect Transform > Width: 500
    • Rect Transform > Height: 250
    The CanvasRoot Rect Transform in the Inspector with Width set to 500 and Height set to 250.
  3. In the Hierarchy, select the UIBackplate. In the Inspector, under Rect Transform, set the Width and Height properties to match the Canvas width and height set in the previous step. This example uses the following settings to match the Canvas size:
    • Rect Transform > Width: 500
    • Rect Transform > Height: 250
    The UIBackplate Rect Transform in the Inspector with Width set to 500 and Height set to 250.
  4. Add some UI elements to the panel to interact with by dragging and dropping prefabs from the Packages > Meta XR Interaction SDK Essentials > Runtime > Sample > Objects > UISet > Prefabs folder. For example, in the Buttons > UnityUIButtonBased folder, drag the PrimaryButton_IconAndLabel_UnityUIButton prefab to the UIBackplate object in the Hierarchy. The button element appears on the UI. Add as many elements as you desire to create your UI.
    UI with elements

Step 3: Make the UI grabbable

  1. Right-click on the Canvas object for your UI and select Interaction SDK > Add Grab Interaction. The Grab wizard appears.
    The Grab Wizard
  2. In the Grab wizard, select Fix All to fix any errors. This will add missing components or fields if they’re required.
    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, please see the Grab Quick Action documentation.
  4. Select Create. The wizard automatically adds the required components for the interaction to the GameObject. It also adds components to the camera rig if those components weren’t already there.
    The automatically added GameObjects for a grab interaction.
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 directly or at a distance using ray-casting. The UI can be moved around by grabbing it.

Test your interaction by generating 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 directly or at a distance using ray-casting. The UI can be moved around by grabbing it.

Learn more

Next steps

Add some GameObjects and make them interactable with Quick Actions.