The Oculus Integration package, OculusIntegration.unitypackage
, is a collection of core VR features, components, scripts, and plugins to ease and enhance the Oculus app development process in Unity. It provides seamless integration with Unity and bundles a suite of SDKs to leverage rendering features, social and community building, sample framework, audio, and avatar development support.
Download the package from either Unity Asset Store or from the Unity Integration Archive page. For instructions about integrating the package in Unity, go to the Import Oculus Integration Package topic.
The Oculus Integration package is an asset package. When you import the package, Unity adds it in the Assets
folder and maintains the package’s original directory structure. It includes:
The VR folder contains assets to help you create immersive VR apps.
Folder | Description |
---|---|
AudioClips | Collection of audio clips that you can use during development. |
Editor | Scripts that add functionality to the Unity editor and enhance other C# component scripts. |
Materials | Materials used for graphical components within the package, such as the main GUI display. |
Meshes | Meshes required by some OVR scripts, such as TrackerBounds. |
Plugins | Contains a utility plugin, OVRPlugin , which provides built-in editor support and several core VR features. It also contains OVRGamepad.dll , which enables scripts to communicate with the Xbox gamepad on Windows, both 32-bit and 64-bit versions, and OVRGamepad.bundle for macOS. |
Prefabs | Collection of prefabs that provide the VR support in a scene, such as OVRCameraRig, OVRHandPrefab, and OVRPlayerController. |
Resources | Collection of shaders that you can use at runtime. |
Scenes | Sample scenes illustrating common concepts. |
Scripts | C# files that tie the VR framework and Unity components together. |
Shaders | Collection of shaders that you can use during development. |
Textures | Image assets required by some script components. |
ThirdParty | Collection of third-party APIs. |
In Unity, prefabs are reusable game objects, such as 3D shapes, lights, audio, or camera. The Oculus Integration package contains several prefabs that facilitates you with essential VR features. To use these prefabs, drag and drop them into your scene. The Assets/Oculus/VR/Prefabs/
folder includes:
OVRCameraRig
prefab to serve as the VR camera and is attached to a character controller.OVRCubemapCapture.TriggerCubemapCapture
static function.The Oculus Integration package contains scripts that assist with the development and a handful of illustrative scenes that implement reusable game components.
Scripts are located in the Assets/OVR/Scripts/
and Assets/OVR/Scripts/Util
folder. The following list of scripts are available for the app development. The ones that are not intended for use are omitted from the list.
Scripts available in the Assets/OVR/Scripts/
folder:
Script | Description |
---|---|
OVRBoundary.cs | Provides access to the Oculus boundary system |
OVRHaptics.cs | Provides haptic feedback on the tracked controller |
OVRInput.cs | Provides a unified input system for the Oculus controllers and gamepads |
OVROverlay.cs | Add this script to an object with an optional mesh primitive rendered as a TimeWarp overlay instead by drawing it into the eye buffer. |
Scripts available in the Assets/VR/Scripts/Util
folder:
Script | Description |
---|---|
OVRGrabber.cs | Allows grabbing and throwing of objects by using Oculus Touch controllers. |
OVRGrabbable.cs | Attaches to objects to allow them to be grabbed and thrown with the Oculus controllers. |
OVRChromaticAberration.cs | Allows you to toggle aberration correction with a gamepad button press. |
OVRModeParms.cs | Logs when the app enters power save mode and allows you to a low-power CPU/GPU level with a button press. |
OVRMonoscopic.cs | Allows you to toggle monoscopic rendering with a gamepad button press. |
OVRResetOrientation.cs | Allows you to reset VR input tracking with a gamepad button press. |
OVRWaitCursor.cs | Rotates the cursor at a given speed. |
Scenes available in the Assets/VR/Scenes/Util
folder:
Scene | Setup |
---|---|
Trivial | One cube and a plain Unity camera. If this scene fails to render normally, it means that the Unity’s VR support is not functioning as intended. |
Cubes | A 3D array of cubes and OVRCameraRig. |
Room | A cubic room from six cubes enclosing OVRPlayerController. Includes the scripts such as OVRGrabber.cs and OVRGrabbable.cs to pick up cubes with the Oculus Touch controllers. |
For more information about scripting reference, go to Oculus Scripting Reference for Unity. Undocumented scripts may be considered internal, and you should not modify them. For detailed samples including scripts and assets that you may reuse in your own apps, go to Unity Sample Framework.