private static OpenXRSettings GetInstance(bool useActiveBuildTarget) { OpenXRSettings settings = null; // When running in the Unity Editor, we have to load user's customization of configuration data directly from // EditorBuildSettings. At runtime, we need to grab it from the static instance field instead. #if UNITY_EDITOR UnityEngine.Object obj = null; UnityEditor.EditorBuildSettings.TryGetConfigObject(Constants.k_SettingsKey, out obj); if (obj == null || !(obj is IPackageSettings)) { return(null); } var packageSettings = (IPackageSettings)obj; // Use standalone settings when running in editor var activeBuildTargetGroup = UnityEditor.BuildPipeline.GetBuildTargetGroup(UnityEditor.EditorUserBuildSettings.activeBuildTarget); settings = packageSettings.GetSettingsForBuildTargetGroup(useActiveBuildTarget ? activeBuildTargetGroup : UnityEditor.BuildTargetGroup.Standalone); #else settings = s_RuntimeInstance; if (settings == null) { settings = ScriptableObject.CreateInstance <OpenXRSettings>(); } #endif return(settings); }
void Awake() { #if !UNITY_EDITOR s_RuntimeInstance = this; #endif }