Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


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


Table of Contents

Getting Started

  • Drivers: CRYENGINE currently supports Oculus SDK 1.43 for Windows; download and install it from the Oculus website.
  • Oculus Documentation: Please read the documentation regarding device setup 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(s) and ensure that you are running the most recent revision that supports Oculus Rift.
  • Recommended PC Specs: Information regarding hardware requirements - Available from Oculus.
titleHelp with installation and setup

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

Starting the Engine with the Oculus Rift Enabled

To enable VR in CRYENGINE then follow the steps below:

  1. Connect the device to your computer
  2. Make sure the vendor runtime/application recognizes your headset as ready for use
  3. Enable the OculusVR plugin by adding the following line to the plugin section of your .cryproject file.

    Code Block
    { "type": "EPluginType::Native", "path": "CryOculusVR" },


    If this line is added to the end of the .cryproject file’s plugin section, the comma at the end of the line should be omitted. If not, a parsing error will be generated when launching the project file.

  4. In the Oculus client enable Unknown Sources.
  5. To the system.cfg or user.cfg file of your project, add the following lines:

    Code Block


    The hmd_tracking_origin CVar sets the HMD's tracking origin point to:

    • The actor's feet, when its value is 0;
    • The camera (actor's head), when its value is 1.

  6. Launch the Engine.


If sys_vr_support is set to 1, Sandbox will always launch with Stereo Mode and Stereo Output set to Dual Rendering and VR Headset respectively. This, however, can be changed/switched off at any point of time.

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

To edit your level:

  1. Click the  button at the top of the Sandbox Editor’s Viewport to bring up the display options.
  2. Scroll down to the Stereo Settings section, and set the Stereo Mode to No Stereo Output.

    No Stereo Output

title308 admin error
  • The No Stereo Output Stereo Mode overrides the Stereo Output setting, even if the latter is set to VR Headset.
  • Launch the Engine as admin if you encounter error 308.

Input Configuration

If so desired you can bind this directly to a key/gamepad button. This can be achieved via Flow Graph using the Debug:InputKey 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

    VR:TransformInfo node

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

  • VR:Tools

    VR:Tools node

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

  • VR:ControllerTracking

    VR:ControllerTracking node

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.

titleOculus Rift use

FlowNodes below are Device/Platform specific. 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 concerned.

  • VR:OculusController

    VR:OculusController node

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

    VR:QuadRenderLayer node

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

  • VR:RenderLayerTexture

    VR:RenderLayerTexture node

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

Oculus Rift-Specific Console Commands and Variables

hmd_ipdVariable-1HMD IPD override (in meters, floating point)
    -1 - Use system provided value
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 HMD's

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

The Sandbox Editor fails to run after enabling VR


  1. Remove any VR plugins from your .cryproject for e.g. { "type": "EPluginType::Native", "path": "CryOculusVR" }
  2. Remove sys_vr_support from your system.cfg or .cryproject
  3. Ensure that any other VR specific features are disabled
When reverting back to game mode then all of the above steps/any changes made must be reverted.

Running the Sandbox 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 Sandbox Editor. 

Make sure to change the name 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 is visually represented on screen.

Solution: Delete the the user folder in the root of the build. Then relaunch the GameSDK.exe.

In some instances the Launcher (GameSDK.exe) boots to an orange screen

In some extreme instances the screen can boot to an orange screen detailing "Application is paused while an old SDK application is rendering". 

Solution: Try stopping then restarting the Oculus service through the Oculus Configuration Utility (found under the Tools menu).