Version: 2022.2
LanguageEnglish
  • C#

XRSettings.LoadDeviceByName

Suggest a change

Success!

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.

Close

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.

Close

Cancel

Declaration

public static void LoadDeviceByName(string deviceName);

Declaration

public static void LoadDeviceByName(string[] prioritizedDeviceNameList);

Parameters

deviceName Name of the device from XRSettings.supportedDevices.
prioritizedDeviceNameList Prioritized list of device names from XRSettings.supportedDevices.

Description

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

A list of supported devices which can be passed into this method 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.

// 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; } } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961