using System.Collections; using UnityEngine; using UnityEngine.XR.Management; public class XRControl : MonoBehaviour { private XRManagerSettings xrManager; void Start() { xrManager = XRGeneralSettings.Instance.Manager; if (XRGeneralSettings.Instance.Manager.activeLoader == null) { StopXR(); } } public void StartXR() { StartCoroutine(StartXRLoader()); } public void StopXR() { StartCoroutine(StopXRLoader()); } private IEnumerator StartXRLoader() { if (!xrManager.isInitializationComplete) { xrManager.InitializeLoader(); yield return new WaitUntil(() => xrManager.isInitializationComplete); xrManager.StartSubsystems(); } } private IEnumerator StopXRLoader() { if (xrManager.isInitializationComplete) { xrManager.StopSubsystems(); xrManager.DeinitializeLoader(); yield return null; } } }