Switch targets between Vive and Oculus using scripts (not GUI)
bearaccount opened this issue · 2 comments
bearaccount commented
Goal is to switch the headset target programmatically (so it's compatible with build pipeline). Manual way is of course switch headset target in VIU (Edit -> Preferences -> VIU Settings).
Method we have tried:
- Try to load a VIUSettings file. Steps:
- In VIU Settings -> Choose Wave
- Copy newly created Assets/VIUSettings/Resources/VIUSettings.asset and rename "VIUSettingsWave.asset".
- In VIU Settings -> Choose Occulus
Use Load: "HTC.UnityPlugin.Vive.VIUSettings.LoadFromResource(path);" where path was "Assets/VIUSettings/Resources/VIUSettingsWave.asset"
Open back VIU Settings (still set to Oculus) and did a build for Wave (broke). - Changes in file:
m_activateOculusVRModule: 1
m_activateUnityNativeVRModule: 1
m_activateUnityXRModule: 1
m_activateWaveVRModule: 0
- Tried to set symbols directly using PlayerSettings.SetScriptingDefineSymbolsForGroup
Swapping symbols in an Editor script which throws Unity Editor into a compile loop:
<< OCULUSVR_ANDROID_SUPPORT
>> VIU_WAVEVR_SUPPORT
Results is no change in target.
We need this for the build pipeline to build for two different targets.
dariol commented
Try using:
EditorUserBuildSettings.SwitchActiveBuildTargetAsync(group, target);
Goldfinchworks commented
@bearaccount Hi, did you manage to switch the target headset programmatically?