public override bool Initialize() { #if UNITY_INPUT_SYSTEM InputLayoutLoader.RegisterInputLayouts(); #endif WindowsMRSettings settings = GetSettings(); if (settings != null) { UserDefinedSettings uds; uds.depthBufferType = (ushort)settings.DepthBufferFormat; uds.sharedDepthBuffer = (ushort)(settings.UseSharedDepthBuffer ? 1 : 0); SetUserDefinedSettings(uds); } CreateSubsystem <XRSessionSubsystemDescriptor, XRSessionSubsystem>(s_SessionSubsystemDescriptors, "Windows Mixed Reality Session"); if (sessionSubsystem == null) { return(false); } CreateSubsystem <XRDisplaySubsystemDescriptor, XRDisplaySubsystem>(s_DisplaySubsystemDescriptors, "Windows Mixed Reality Display"); CreateSubsystem <XRInputSubsystemDescriptor, XRInputSubsystem>(s_InputSubsystemDescriptors, "Windows Mixed Reality Input"); CreateSubsystem <XRAnchorSubsystemDescriptor, XRAnchorSubsystem>(s_AnchorSubsystemDescriptors, "Windows Mixed Reality Anchor"); CreateSubsystem <XRMeshSubsystemDescriptor, XRMeshSubsystem>(s_MeshSubsystemDescriptors, "Windows Mixed Reality Meshing"); CreateSubsystem <XRGestureSubsystemDescriptor, XRGestureSubsystem>(s_GestureSubsystemDescriptors, "Windows Mixed Reality Gesture"); return(displaySubsystem != null && inputSubsystem != null); }
public WindowsMRSettings GetSettings() { WindowsMRSettings settings = null; #if UNITY_EDITOR UnityEngine.Object obj = null; UnityEditor.EditorBuildSettings.TryGetConfigObject <UnityEngine.Object>(Constants.k_SettingsKey, out obj); if (obj == null || !(obj is IWindowsMRPackageSettings)) { return(null); } IWindowsMRPackageSettings packageSettings = (IWindowsMRPackageSettings)obj; settings = packageSettings.GetActiveBuildTargetSettings(); #else settings = WindowsMRSettings.s_Settings; #endif return(settings); }
public void Awake() { s_Settings = this; }