This documentation provides you with best practices you could follow to create your Oculus for Business.
By default, we require all consumer Oculus apps to follow Virtual Reality Check (VRC) Guidelines for each headset. Due to different use cases, we do not enforce these requirements for Oculus for Business applications. These are suggestions provided to assist developers with creating applications For more information, refer to the VRC Guidelines for the Oculus Quest.
If the VR applications do not follow the safety guidelines users may experience discomfort and lead to negative experiences with the applications. Therefore, it is important to follow the best practices or similar alternatives specific to your application to reduce discomfort caused by VR. For more information, refer to our guide on how to implement safe VR experiences.
Vision in a VR application is important to creating a comfortable and immersive experience for your users. For more information, refer to our guide on how to create quality visual experiences.
Oculus for Business apps will be used by an audience who may be standing, sitting, moving around, or all three depending on their environments. Developers should design apps that allow users to take breaks in between training modules without losing their progress in the application. The ability to safely take breaks between training modules could help prevent users from becoming tired and decrease the effectiveness of the training application. For more information, refer to our guide on how to create optimized user experiences.
Proper locomotion, method of moving the user through the virtual world is one of the most difficult concepts, but also one of the most important aspects to properly implement. Improper design or implementation of locomotion could make users uncomfortable or sick. For more information, refer to our guide on how to implement proper locomotion.
Each Oculus VR device comes with either one (Oculus Go) or two (Oculus Quest) input devices for use with applications. By default the user may use these input devices to navigate applications and UI elements on screen. Oculus for Business offers an additional user input method called, Controller-Free Mode to allow users to experience apps without holding controllers. Controller-Free uses the gaze-pointer, where the user’s head orientation controls a pointer. An overview of how to implement the gaze-pointer feature is found in our Unity’s UI System in VR blog post.
Please refer to our full guide on user input implementation for information about 3DOF and 6DOF user input options.
Audio is a critical part of VR immersion that could significantly improve the user experience or cause strong discomfort for the users. We recommend spatializing audio for any sound that has an obvious in-app source. For more information, refer to our guide on how to implement VR Audio in your applications.
An important aspect of VR app design is tracking and translating users’ real-world movements to the virtual world. For more information, refer to our guide on how to implement user movement tracking for 6DOF VR devices.
Avatars can be used in Oculus for Business applications to provide users with VR representations of their bodies that can sit, stand, and walk to reduce their discomfort created by VR. Currently, on Oculus for Business applications, user customized avatars from the Avatar SDK will not be supported. For more information, refer to our guide on how to implement realistic VR avatars.
Rendering is a crucial step in VR app development, as it contains some of the procedures that significantly affect the app usability and comfort of your users. For more information, refer to our guide on how to properly render VR elements for optimal experiences and our blog post on how to render graphics mobile VR.
In general, we recommend Oculus Quest developers to avoid using the OpenXR framework for their applications. The native SDKs from Oculus provides close-to-the-metal optimizations that are not available in the OpenXR framework. In addition to unoptimized performance, OpenXR does not support SDK optimizations such as Fixed Foveated Rendering, Asynchronous Time Warp, and many other features designed to improve VR experiences. Not only is OpenXR unable to utilize VR performance optimizations, the SDK from Oculus is not fully compliant with the OpenXR 1.0 specification.