public static void SyncSDKs() { if (TBEditorSDKSettings.GetNumActiveSDKs() == 0) { Debug.LogError("No platforms are currently enabled in TButt Core Settings. Please enable at least one platform in the Core Settings menu."); } else { _sdks = TBEditorSDKSettings.GetEditorSDKs(); if (!_sdks.forceSync) { return; } else { TBEditorSDKSettings.SetScriptingDefines(_sdks); } if (!PlayerSettings.virtualRealitySupported) { PlayerSettings.virtualRealitySupported = true; } TBEditorDefines.SetUnityVirtualRealitySDKs(_sdks); } }
public static void SetUnityVirtualRealitySDKs(TBEditorSDKSettings.SDKs sdks) { #region PC / STANDALONE CHECKS string[] currentTargets = PlayerSettings.GetVirtualRealitySDKs(BuildTargetGroup.Standalone); string[] wantedTargets = new string[] { "None" }; // Kind of ugly, but the build platforms have to be set in a particular order for things to work properly. // Assume that if Oculus and Steam are both enabled, Oculus should be first in the list. if (sdks.oculus && sdks.steamVR) { wantedTargets = new string[] { TBSettings.VRDeviceNames.Oculus, TBSettings.VRDeviceNames.SteamVR } } ; else if (sdks.oculus) { if (Settings.TBOculusSettings.LoadOculusSettings(Settings.TBOculusSettings.OculusDeviceFamily.Rift).allowViveEmulation) { wantedTargets = new string[] { TBSettings.VRDeviceNames.Oculus, TBSettings.VRDeviceNames.SteamVR } } ; else { wantedTargets = new string[] { TBSettings.VRDeviceNames.Oculus } }; } else if (sdks.steamVR) { wantedTargets = new string[] { TBSettings.VRDeviceNames.SteamVR } } ; SetPlayerSettingsSDKs(BuildTargetGroup.Standalone, wantedTargets, currentTargets); currentTargets = PlayerSettings.GetVirtualRealitySDKs(BuildTargetGroup.WSA); wantedTargets = new string[] { "None" }; if (sdks.windows) { wantedTargets = new string[] { TBSettings.VRDeviceNames.WindowsMR } } ; SetPlayerSettingsSDKs(BuildTargetGroup.WSA, wantedTargets, currentTargets); #endregion #region ANDROID CHECKS currentTargets = PlayerSettings.GetVirtualRealitySDKs(BuildTargetGroup.Android); wantedTargets = new string[] { "None" }; if (sdks.oculus && sdks.googleVR) { wantedTargets = new string[2] { TBSettings.VRDeviceNames.Oculus, TBSettings.VRDeviceNames.Daydream } } ; else if (sdks.oculus) { wantedTargets = new string[1] { TBSettings.VRDeviceNames.Oculus } } ; else if (sdks.googleVR) { wantedTargets = new string[1] { TBSettings.VRDeviceNames.Daydream } } ; SetPlayerSettingsSDKs(BuildTargetGroup.Android, wantedTargets, currentTargets); #endregion }