Legacy Documentation: Version 2018.1 (Go to current version)
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.


Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.



public static method LoadDeviceByName(deviceName: string): void;
public static void LoadDeviceByName(string deviceName);
public static method LoadDeviceByName(prioritizedDeviceNameList: string[]): void;
public static void LoadDeviceByName(string[] prioritizedDeviceNameList);


deviceNameName of the device from XRSettings.supportedDevices.
prioritizedDeviceNameListPrioritized list of device names from XRSettings.supportedDevices.


Loads the requested device at the beginning of the next frame.

A list of supported devices which can be passed into this function can be obtained from XRSettings.supportedDevices.

In order to check for success, check XRSettings.loadedDeviceName on the next frame.

This function will try to initialize only the device(s) passed in, it will not fall back to other devices in the XRSettings.supportedDevices list. You can pass a list of values to fall back to other devices on failure. If no device could be initialized, it will fall back to XRSettings.loadedDeviceName as an empty string and set XRSettings.enabled to false.

You can disable XR by loading an empty string deviceName.

After loading a device, you may want to enable it with XRSettings.enabled.

Note: Some VR Devices do not support reloading when already active. You should make sure to check the currently loaded device and only load the new device if it is different.

#pragma strict
// Run in split-screen mode
function Start() {
function LoadDevice(newDevice: String) {
	if (String.Compare(XRSettings.loadedDeviceName, newDevice, true) != 0) {
		nullXRSettings.enabled = true;
// Run in split-screen mode
using System;
using System.Collections;
using UnityEngine;
using UnityEngine.XR;

public class ExampleClass : MonoBehaviour { void Start() { StartCoroutine(LoadDevice("Split")); }

IEnumerator LoadDevice(string newDevice) { if (String.Compare(XRSettings.loadedDeviceName, newDevice, true) != 0) { XRSettings.LoadDeviceByName(newDevice); yield return null; XRSettings.enabled = true; } } }

Did you find this page useful? Please give it a rating: