Oculus Controller Art in Unity

Contribution by Melis Gökalp

This tutorial explains how you can attach controller art as game objects to your XR Rig and have them move/tracked as your controller hands. The controller art could be Oculus game controllers or custom hand objects. The end result will look like this:

Steps

2. Download the latest version of Oculus Controller Art. 

3. Unzip the downloaded file and choose the controller folder for your device such as "Oculus Touch for Quest 2".

4. Import that folder to your project. You can also drag the folder into the Unity project screen.

5. Drag any of the controller prefabs to your scene such as "quest2_controllers_div2". Do this two times because we will need one game object for each controller.

6. Right click the "quest2_controllers_div2" prefab and choose "Unpack prefab" like below. Do this for both prefabs.

7. Then drag one prefab for each controller object under the XR Rig. Then make sure that the left controller has only "left_quest2_controller_world" and "left_quest2_mesh" attached to the prefab. Same applies for the right controller hierarchy, you only need to have "right_quest2_controller_world" and "right_quest2_mesh". The final hierarchy of game objects under your XR Rig and controllers should look like this:

8. Make sure that your LeftHand Controller and RightHand Controller objects have Tracked Pose Drivers or an equivalent script to get the controller pose from appropriate left or right Generic XR controller. This way, your game objects with controller art will follow the controller movement and poses in the game.

9. This can be used any custom controller object! You can use even use lightsabers and robot hands.

Troubleshooting: