Oculus Go Development

On 6/23/20 Oculus announced plans to sunset Oculus Go. Information about dates and alternatives can be found in the Oculus Go introduction.

Oculus Quest Development

All Oculus Quest developers MUST PASS the concept review prior to gaining publishing access to the Quest Store and additional resources. Submit a concept document for review as early in your Quest application development cycle as possible. For additional information and context, please see Submitting Your App to the Oculus Quest Store.

Play Ambisonic Audio in Unity

The Oculus Spatializer supports playing AmbiX format ambisonic audio in Unity 2017.1 and later.

For Unity 2017.1 and later, the Oculus Spatializer supports ambisonic audio, letting you attach 4-channel AmbiX format audio clips to game objects. Rotating either the headset (the AudioListener) or the audio source itself affects the ambisonic orientation.

You can smooth the cross-fading between multiple ambient ambisonic audio sources in your scene by customizing the Volume Rolloff curve for each audio source.

Add Ambisonic Audio to a Unity Scene

To add ambisonic audio to a scene in Unity:

  1. Import the OculusNativeSpatializer Unity package into your project.
  2. Select OculusSpatializer for the ambisonic plugin. To do so, click Edit > Project Settings > Audio to open the Audio dialog
  3. From Ambisonic Decoder Plugin, select OculusSpatializer. The following image shows an example.

  4. Next add the AmbiX format ambisonic audio file to your project. Copy the audio file to your Unity assets.
  5. In the Project window, select your audio file asset.
  6. In the Inspector window, select the Ambisonic check box and then click Apply.

  7. Create a GameObject to attach the sound to. Go to GameObject and select the GameObject you want to add to the scene.

  8. Add an Audio Source component to your GameObject and configure it for your ambisonic audio file. Start by dragging the audio file to the GameObject you added to the scene. There should be a “speaker” icon on the GameObject.

  9. In the AudioClip field, select your ambisonic audio file.
  10. In the Output field, select SpatializerMixer > Master.

  11. Add the ONSP Ambisonics Native script component to your GameObject.

  12. Select the Use Virtual Speakers option for the ONSP Ambisonics Native (Script) object, which is best for broadband content. This setting decodes ambisonics as an array of eight point-sourced and spatialized speakers, each located at the vertex of a cube located around the listener.
    If the check box is not selected, ambisonics are decoded by OculusAmbi, our novel spherical harmonic decoder. OculusAmbi has a flatter frequency response, has less smearing, uses less compute resources, and externalizes audio better than virtual speakers. However, some comb filtering may become audible in broadband content such as wind and rushing water sounds.

Ambisonic Sample Scene: YellowBall

For a quick demonstration of the Oculus beta support for ambisonic sound sources, open the YellowBall scene included in the OculusSpatializerNative package. Move the left Stick on your controller to move closer to and farther from the audio source. The volume rolls off according to its attenuation curve. Turning your head left and right changes the ambisonic orientation accordingly.

Before you click Play in Unity, be sure that:

  1. Enable VR. For Unity 2019.3 and earlier go to Edit > Project Settings > Player, Virtual Reality Supported is selected. The following image shows an example.

    For later versions of Unity, go to Edit > Project Settings, select XR Plugin Management, and then select Install XR Plugin Management. You may need to restart the editor, and then check Oculus in the list of Plug-in Providers. The following image shows an example.

  2. Set the spatializer to the Oculus spatializer. In Edit > Project Settings > Audio, Spatializer Plugin and Ambisonic Decoder Plugin are set to OculusSpatializer.

Note, if you are using some newer versions of Unity, and get a warning “Component of type GUI Layer is no longer available in Unity. References to it will be removed!”, see Unity Issue Tracker to fix the issue.

The following shows the Yellow Ball Project and the settings on the Audio Source.