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.
Primary path: Quick Action
01 Add the Interaction Rig
Delete the default Main Camera if it exists, since Interaction SDK uses its own camera rig.
Right click on the Hierarchy and select the Interaction SDK > Add OVR Comprehensive Interaction Rig Quick Action.
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.
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.
Click Create to add the OVR Comprehensive Interaction Rig to the scene.
The Prefab Path is relative to the project’s Assets/ folder.
The rig supplies the interactor side of the setup: ray, poke, near-grab, distance-grab, and touch-hand-grab interactors for both hands and controllers, plus a Locomotor with teleport and turn interactors. It does not add interactable targets to your scene. You add those to the objects you want users to interact with, which is what the rest of this guide does.
Note: The wizard has no Smooth Locomotion setting. Configure controller movement on the created Locomotor instead.
Controller movement is set to Slide by default. To use controller teleport instead, set Locomotor > LocomotionSettings > Controller Movement to Teleport.
OvrCameraRig features in the prefab.
In the Hierarchy, select the OVRCameraRig.
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.
For prototyping, Controllers and Hands keeps hand tracking optional while retaining controller support, so you can switch between the two. Using hands and controllers at the same time is a separate build-time option.
As an alternative to the Quick Action primary path, open Window > Meta > Tools > Building Blocks and add the Interactions Rig block. That block lists Camera Rig as a dependency, so adding it also adds the camera rig.
Legacy projects may still use the OVRCameraRigInteraction prefab in Packages > Meta XR Interaction SDK > Runtime > Prefabs > Legacy. That prefab is deprecated and does not name a replacement, so use one of the paths above for new work.
Design your interactions so users can keep their arms close to their body with elbows at hip level. Requiring hands above heart level causes rapid fatigue. Place interactive content at a comfortable distance, about 1 to 1.5 meters away, for UI panels. See Best Practices for ergonomic guidelines. For any troubleshooting issues, see: