Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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
        }