Find out about the Virtual Reality preferences for customizing settings for general VR interaction, teleport, and HMD use.
In the Menu Bar, click Edit > Preferences, then on the left side of the dialog box, select Virtual Reality. After making any changes, press Apply and OK to save them.
Use the Virtual Reality preferences to customize interaction setting for visualization, tooltips, object collision, and teleport, as well as eye tracking, foveated rendering, and StarVR use. These options can be found in one of two tabs, Interaction or HMD. Use the OpenXR tab for customizing or resetting controller bindings. Once everything is set, click Apply.

For information on editing or resetting preferences, see Editing Preferences.
Interaction Tab
Use these parameters to set the default general, hand tracking, teleporting, and marker tracking interactions in VR.
Only available for Varjo XR-3 users.
Sets the default state for enabling hand tracking and setting translational and rotational hand offset for tracked hands.
For Varjo XR-3 users, enabling hand tracking in the preferences automatically activates it for VR or XR.
Tracker - Only available for Varjo XR-3 and VR-3 users. Sets the default system used for hand tracking.
Setting up Hand Tracking for Other Devices
For the Custom Tracker option, you must provide all the tracking data to VRED's Python interface. How to do this can vary from device to device; however, if you can access the tracking data via Python script, the data needs to be set into the
vrdTrackedHandobjects returned by the methods used. This requires the transformation data of the tracked hand and/or different finger joints (see theexternalHandTracking.pyexample file for how this works).For testing, set the corresponding preferences, load the script, and enter VR. You may have to modify the script by changing values for hand and/or joint transforms to understand how everything works.
Sets the default state for the teleporting mode and range.
Ground Mode - Sets the default mode when teleporting to teleport onto models or into an area around them.
To teleport into a vehicle or anywhere on the ground plane, select On Ground Plane. When On Geometry is selected, you can teleport onto geometry, but not into it.
Use these options to improve the experience when close to an object and using the laser pointer. The sphere at the end of the pointer can be too big when used close to an object.

Since, as you get closer to or farther from an object and the sphere size and diameter of the laser change, use these options to sets the ideal size and diameter for both.

The marker tracking system detects each marker and assigned a confidence value to it, ranging from 0.0 to 1.0.
0.0 means the system deems the detected result (marker ID and position) 100% incorrect.
1.0 means the system deems the detected result (marker ID and position) 100% correct.
For example, a marker that gets a value of 0.9 means there is a 90% confidence in the correctness of the marker's position and IDs.
A marker with a low confidence value appears to be jumping around. Setting the minimal accepted confidence to a higher value makes the system ignore unreliable detected results.
A marker that was detected with high confidence value, but later is detected to have a confidence value lower than the minimum value will be ignored and its position will not be updated.
For more information on using markers, see Markers in Mixed Reality.
HMD Tab
Use these parameters to set the default HMD settings for eye tracking, foveated rendering, and HMD-specific options. These are disabled by default.
VRED currently supports eye tracking for the HTC VIVE Pro Eye and the StarVR headsets.
The OpenGL Shading Rate extension is required for Foveated Rendering and is only available on NVIDIA RTX cards (Turing architecture).
This improves performance by reducing the peripheral image quality and is used with Eye Tracking.
Foveated Rendering - Sets the default foveated rendering state. This is disabled by default. When enabled, eye-tracked areas are rendering in high resolution and peripheral areas in low resolution.
This option is currently not supported for Varjo and StarVR headsets. For other headsets that don't have eye tracking, you can enable the Foveated Rendering preference option for VR. However, since your eyes cannot be tracked, the foveal region will not move. It will remain fixed to the center of the image.
If a message appears regarding the OpenGL Shading Rate Image extension, this is because Foveated Rendering is only available on NVIDIA RTX cards (Turing architecture).
Foveal Region Size - Sets the default size of the foveal region, which is oval shaped.
A new Python service vrHMDService has been added for access to foveated rendering settings.
Shading Quality - Sets the default level used for foveated rendered shading. There are three image regions with foveated rendering that can be rendered with different shading qualities:

The above rendered image shows the following qualities:
Use either a preset or select Custom to set up your own shading qualities. Normally, the innermost region is rendered with the best quality, compared to the other two, with the periphery being the lowest.
Highest Performance - Uses a lower visual quality, but provides the highest performance, by using coarse shading in the periphery.
Balanced and Highest Quality - Improves the visual quality, which is especially noticeable for materials with small repeating patterns, such as the Carbon material, or with certain textures.
Visual quality is improved due to the use of supersampling shading qualities, which can be 2x (2 Samples), 4x (4 Samples), or 8x (8 Samples).
The supersampling shading quality only takes effect if at least the same amount of samples are rendered with multisample antialiasing (realtime antialiasing).
A hint is displayed next to the Shading Quality setting in the Foveated Rendering preferences providing the minimum number of required samples. Activate the level of realtime antialiasing that has a sufficient number of samples. By default, Low uses 2, Medium 4, and High 8 samples.
For example, if the hint indicates that at least 4 samples are needed, activate either Medium or High realtime antialiasing. The Realtime Antialiasing samples can be changed in the preferences (Edit > Preferences > Render Options > Visualization Advanced tab > Realtime Antialiasing Presets).
The specific qualities of the presets are:
| Preset | Inner (Foveal) | Middle Quality | Periphery Quality |
|---|---|---|---|
| Highest Performance | 1 Sample | 1 Sample per 4 Pixels | 1 Sample per 16 Pixels |
| Balanced | 4 Samples | 1 Sample | 1 Sample per 4 Pixels |
| Highest Quality | 8 Samples | 4 Samples | 2 Samples |
Custom Quality - Sets the default custom foveated rendering shading quality for the inner, middle, and periphery image regions.
Inner - The foveal region
Middle - The transition zone between the inner and periphery
Periphery - The outer periphery region
Select one of the following options for each parameter:
1 Sample - This is the standard shading quality which doesn't use foveated rendering.
1 Sample per 4 Pixels and 1 Sample per 16 Pixels - Shaders with lower shading qualities are evaluated less often. The result of a material evaluation is used for multiple pixels (e.g., 1 Sample per 4 Pixels is coarse shading with 1 sample per 2x2 pixel block).
2 Samples, 4 Samples, 8 Samples - Materials with higher shading qualities are evaluated up to 8 times per pixel.
Displacement materials with accurate silhouettes are currently always evaluated with standard shading quality.
These options are specific to a Varjo HMD for settings the default native foveated rendering state, the mode you enter, and hand depth.
Once your preferences have been set, click Apply and OK to save these settings.
Depth Estimation - Sets the default state for real-world hands in XR. When enabled, it detects your real-world hands in the mixed reality video and shows them in front of a virtual object, if they are closer than the object. When disabled, the rendering from VRED will always occlude the real hands, even if the hands are closer than the rendered object.
| Depth Estimation OFF | Depth Estimation ON |
|---|---|
![]() |
![]() |
OpenXR
Use the OpenXR tab for setting controller bindings for devices using OpenXR.
When changing the OpenXR controller bindings, VRED will need to restart the session. Click OK in the notification to restart the session and apply the new bindings.
Note that setting the controller bindings in VRED will only suggest these mappings to the active OpenXR runtime. The runtime can still decide to ignore these suggestions. In this case, you need to configure the mapping in the corresponding runtime. See Managing Controller Bindings for SteamVR.
Controller Type - Set the type of controller used. Choose from: HTC Vive, HTC Vive Cosmos, Oculus Touch, Microsoft MR Motion, and HP MR.
Left = Right - Set controller mapping as the same for both left and right controllers, when enabled. When disabled, the left and right controllers can have different bindings for a controller method and action.
Now, for each action, select its controller binding from the dropdown menu next to the action. When finished, press Apply.
Place Snap - Set the controller input used for activating the snap function of the place tool.
Pointer Execute - Set the controller input used for using the pointer.
Pointer Ray Pose - Set the controller input used for positioning the pointer ray.
Pointer Show - Set the controller input used for displaying the pointer ray.
Teleport Execute - Set the controller input used for teleporting.
Teleport Ray Pose - Set the controller input used for positioning the teleport ray.
Teleport Show - Set the controller input used for displaying the teleport ray.
VR Menu Position - Set the controller input used for positioning the menu.
VR Menu Show - Set the controller input used for displaying and hiding the menu.
Set To Default - Removes any changes to the controller bindings, reverting all back to the defaults.
Add Controller - Add and set another type of controller. To remove a controller, click Remove Controller.
To customize the configuration of your controller buttons, do the following:
In the Virtual Reality preferences, select OpenXR.
Select your controller from the Controller Type drop-down menu.
If you want each controller to have different bindings, enable the Left = Right checkbox; otherwise, ensure it is disabled.
Open the drop-down menu next to each action and select an option.
Actions can be disabled, so they are not accessing. For instructions, see Disabling an Action. Controller buttons can also be disabled. For instructions, see Disabling a Controller Button.
When finished, press Apply.
It is possible to set the left and right controllers independent of one another when customizing your controller bindings.
To do this, in the OpenXR tab of the Virtual Reality preferences, enable the Left = Right checkbox.
To reset all controller bindings to their default values, in the OpenXR tab of the Virtual Reality preferences, press Set To Default.
You can add other controllers and customize their bindings.
To disable an action, so it is not accessible in a session, do the following:
In the future, to make the action accessible, select a target from its drop-down, such as Menu Click or X Touch.
Any controller button can be disabled through the OpenXR tab in the Virtual Reality preferences. In the controller bindings list, ensure the button is not assigned to an action. If it is, select another option from the action's drop-down menu.

OpenVR
Use the OpenVR tab for blocking specific devices using OpenVR.
Blocked Input Devices - Provides a list of OpenVR input device models or serial names which will be blocked on registration. The following options are also available by right-clicking within this area.
Create - Creates a field for entering a device model or serial name.
Edit - Enables the editing of a device model or serial name.
Delete (Del) - Deletes the selected device model or serial name.