Skip to end of metadata
Go to start of metadata

Overview

Oculus Rift support is now included with CRYENGINE. This article will guide you through setting up VR and any important information you should know before you get started.

Chapters:

Getting Started

  • Drivers: Install the most up to date drivers - Available from Oculus. We currently support version 1.3 Beta.
  • Oculus Documentation: Please read the documentation regarding device set-up and configuration - Available from Oculus.
  • Health and Safety: Please carefully read the H&S information - Available from Oculus.
  • Video Drivers: Update your video card driver and ensure that you are running the most recent revision that supports Oculus Rift.
  • Recommended PC Specs: Information regarding hardware requirements - Available from Oculus.

Help with Rift installation and Setup

Icon

For help with configuring your device, please use the official Oculus application and documentation.

Starting the Engine with the Oculus Rift Enabled

The process of enabling VR in CRYENGINE has been designed to be as simple as possible. As of CRYENGINE 5.3 this has been simplified further, by requiring five generic steps for all supported implementations:

  1. Connect the device to your computer
  2. Make sure the vendor runtime / application recognizes your headset as ready for use
  3. Install the OculusVR plugin by adding cryplugin.csv to your projects folder
  4. Add 'sys_vr_support=1' to your system.cfg or user.cfg file
  5. Launch the engine

Once launched, the engine should be rendering to your head-mounted device.

Input Configuration

If so desired you can bind this directly to a key/gamepad button. This can be achieved via Flow Graph Input:Key node.

Alternatively, you could modify the <game_folder>\Libs\Config\DefaultProfile.xml file and assign a button there.

See Setting up Controls & Actionmaps for more information.

Flow Graph

We have exposed some controls / functions that are related to the HMD device and the Motion Controllers. This can be accessed through Flow Graph:

  • VR:TransformInfo


Allows quick access to position and rotation information related to the VR device.


  • VR:Tools

Allows you to hookup an input to trigger the RecenterPose command.

  • VR:ControllerTracking

Similar to the VR:TransformInfo node. This node will allow you to access position and rotation information of a controller. Additionally, you can provide a scaling value as well as a reference entity.

Oculus Rift Use!

Icon

FlowNodes below are Device/Platform specific. Some of this is subject to change (Layer implementations are WIP on other devices), while others, like Device-specific Controller maps, are such by design, and are only meant for the specific device.

  • VR:OculusController

Allows you to retrieve the button states as well as the trigger, thumbstick and gesture values of the given Touch Controller. (Index should usually be either 0 or 1).

  • VR:QuadRenderLayer

Lets you access properties of the Quad Render Layers of the HMD. Node allows modifying postion, scaling and orientation of the layer (specified by Layer input) in World space.

  • VR:RenderLayerTexture

Lets you access properties of the Render Layer textures of the Layer specified with QuadLayerID.

Oculus Rift-Specific Console Commands and Variables

NameTypeDefaultDescription
hmd_ipdVariable-1HMD IPD override (in meters, floating point)
    -1 - Use system provided value
hmd_low_persistenceVariable0Deprecated
hmd_dynamic_predictionVariable0Deprecated
hmd_queue_aheadVariable0Deprecated
hmd_projectionVariable0Selects the way the image is projected into the hmd:

0 - normal stereoscopic mode
1 - monoscopic (cinema-like)
2 - monoscopic (head-locked)

Used with Oculus SDK 1.2 or above only
hmd_perf_hudVariable0Performance HUD Display for HMDs

0 - off
1 - Summary
2 - Latency timing
3 - App Render timing
4 - Compositor Render timing
5 - Version Info

Used with Oculus SDK 1.2 or above only
hmd_projection_screen_distVariable0If >0 it forces the 'cinema screen' distance to the HMD when using 'monoscopic (cinema-like)' projection
Used with Oculus SDK 1.2 or above only

 

Possible Issues You Can Encounter

  • Running the editor with the user.cfg. This will try to enable VR in editor mode, which it will attempt, but can't do.
    • Solution: Rename the user.cfg to something else such as "_user.cfg". This will bypass the file being read on loading of the Editor.
      NOTE: Make sure to rename it back to user.cfg when you want to use VR again in the Launcher.
  • In some instances the Launcher (GameSDK.exe) boots to a black screen. The game is active in the background but nothing visually represented on screen.
    • Solution: Delete the user folder in the root of the build. Then relaunch the GameSDK.exe.
  • In some extreme instances, it can boot to an orange screen detailing "Application is paused while an old SDK application is rendering". 
    • Solution: Try stopping and restarting the Oculus service through the Oculus Configuration Utility, under the Tools menu.
  • No labels