Skip to content

Commit 3ec6827

Browse files
author
lawwong
committed
Update to v1.15.0
* Changes - New OpenXR support options in VIU Settings (experimental) - OpenXR Desktop - OpenXR Android for WaveXR - OpenXR Android for Oculus - Add Oculus Quest 2 controller input support
2 parents c2a7e59 + 54d8853 commit 3ec6827

30 files changed

+1534
-356
lines changed

Assets/HTC.UnityPlugin/VRModule/Editor/VRModuleManagerEditor.cs

Lines changed: 46 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public class ReqMethodInfo
4848
}
4949

5050
public string symbol = string.Empty;
51+
public string[] symbols = null;
5152
public string[] reqTypeNames = null;
5253
public string[] reqAnyTypeNames = null;
5354
public string[] reqFileNames = null;
@@ -442,26 +443,66 @@ private static void DoUpdateScriptingDefineSymbols()
442443

443444
var defineSymbols = GetDefineSymbols();
444445
var defineSymbolsChanged = false;
446+
var validSymbols = new HashSet<string>();
447+
var invalidSymbols = new HashSet<string>();
445448

446449
foreach (var symbolReq in s_symbolReqList)
447450
{
448451
if (symbolReq.Validate())
449452
{
450-
if (!defineSymbols.Contains(symbolReq.symbol))
453+
if (!string.IsNullOrEmpty(symbolReq.symbol))
451454
{
452-
defineSymbols.Add(symbolReq.symbol);
453-
defineSymbolsChanged = true;
455+
invalidSymbols.Remove(symbolReq.symbol);
456+
validSymbols.Add(symbolReq.symbol);
457+
}
458+
if (symbolReq.symbols != null)
459+
{
460+
foreach (var symbol in symbolReq.symbols)
461+
{
462+
if (!string.IsNullOrEmpty(symbol))
463+
{
464+
invalidSymbols.Remove(symbol);
465+
validSymbols.Add(symbol);
466+
}
467+
}
454468
}
455469
}
456470
else
457471
{
458-
if (defineSymbols.RemoveAll((symbol) => symbol == symbolReq.symbol) > 0)
472+
if (!string.IsNullOrEmpty(symbolReq.symbol) && !validSymbols.Contains(symbolReq.symbol))
459473
{
460-
defineSymbolsChanged = true;
474+
invalidSymbols.Add(symbolReq.symbol);
475+
}
476+
if (symbolReq.symbols != null)
477+
{
478+
foreach (var symbol in symbolReq.symbols)
479+
{
480+
if (!string.IsNullOrEmpty(symbol) && !validSymbols.Contains(symbol))
481+
{
482+
invalidSymbols.Add(symbol);
483+
}
484+
}
461485
}
462486
}
463487
}
464488

489+
foreach (var symbol in invalidSymbols)
490+
{
491+
if (defineSymbols.RemoveAll((s) => s == symbol) > 0)
492+
{
493+
defineSymbolsChanged = true;
494+
}
495+
}
496+
497+
foreach (var symbol in validSymbols)
498+
{
499+
if (!defineSymbols.Contains(symbol))
500+
{
501+
defineSymbols.Add(symbol);
502+
defineSymbolsChanged = true;
503+
}
504+
}
505+
465506
if (defineSymbolsChanged)
466507
{
467508
SetDefineSymbols(defineSymbols);

Assets/HTC.UnityPlugin/VRModule/Modules/Editor/OculusVRModuleEditor.cs

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,43 @@ public OculusVRSymbolRequirementCollection()
6161
reqFileNames = new string[] { "OvrAvatarSDKManager.cs" },
6262
});
6363

64+
Add(new SymbolRequirement()
65+
{
66+
symbol = "VIU_OCULUSVR_1_35_0_OR_NEWER",
67+
symbols = new string[]
68+
{
69+
"VIU_OCULUSVR_1_32_0_OR_NEWER",
70+
},
71+
reqMethods = new SymbolRequirement.ReqMethodInfo[]
72+
{
73+
new SymbolRequirement.ReqMethodInfo()
74+
{
75+
typeName = "OvrAvatarSDKManager",
76+
name = "RequestAvatarSpecification",
77+
argTypeNames = new string[]
78+
{
79+
"System.UInt64",
80+
"specificationCallback",
81+
"System.Boolean",
82+
"ovrAvatarAssetLevelOfDetail",
83+
"System.Boolean",
84+
"ovrAvatarLookAndFeelVersion",
85+
"ovrAvatarLookAndFeelVersion",
86+
},
87+
bindingAttr = BindingFlags.Public | BindingFlags.Instance,
88+
}
89+
},
90+
reqFileNames = new string[] { "OvrAvatarSDKManager.cs" },
91+
});
92+
6493
Add(new SymbolRequirement()
6594
{
6695
symbol = "VIU_OCULUSVR_1_36_0_OR_NEWER",
96+
symbols = new string[]
97+
{
98+
"VIU_OCULUSVR_1_32_0_OR_NEWER",
99+
"VIU_OCULUSVR_1_35_0_OR_NEWER",
100+
},
67101
reqMethods = new SymbolRequirement.ReqMethodInfo[]
68102
{
69103
new SymbolRequirement.ReqMethodInfo()
@@ -90,6 +124,12 @@ public OculusVRSymbolRequirementCollection()
90124
Add(new SymbolRequirement()
91125
{
92126
symbol = "VIU_OCULUSVR_1_37_0_OR_NEWER",
127+
symbols = new string[]
128+
{
129+
"VIU_OCULUSVR_1_32_0_OR_NEWER",
130+
"VIU_OCULUSVR_1_35_0_OR_NEWER",
131+
"VIU_OCULUSVR_1_36_0_OR_NEWER",
132+
},
93133
reqTypeNames = new string[] { "OVRPlugin+SystemHeadset" },
94134
validateFunc = (req) =>
95135
{
@@ -109,6 +149,13 @@ public OculusVRSymbolRequirementCollection()
109149
Add(new SymbolRequirement()
110150
{
111151
symbol = "VIU_OCULUSVR_16_0_OR_NEWER",
152+
symbols = new string[]
153+
{
154+
"VIU_OCULUSVR_1_32_0_OR_NEWER",
155+
"VIU_OCULUSVR_1_35_0_OR_NEWER",
156+
"VIU_OCULUSVR_1_36_0_OR_NEWER",
157+
"VIU_OCULUSVR_1_37_0_OR_NEWER",
158+
},
112159
reqTypeNames = new string[] { "OVRPlugin+SystemHeadset" },
113160
validateFunc = (req) =>
114161
{
@@ -128,6 +175,14 @@ public OculusVRSymbolRequirementCollection()
128175
Add(new SymbolRequirement()
129176
{
130177
symbol = "VIU_OCULUSVR_19_0_OR_NEWER",
178+
symbols = new string[]
179+
{
180+
"VIU_OCULUSVR_1_32_0_OR_NEWER",
181+
"VIU_OCULUSVR_1_35_0_OR_NEWER",
182+
"VIU_OCULUSVR_1_36_0_OR_NEWER",
183+
"VIU_OCULUSVR_1_37_0_OR_NEWER",
184+
"VIU_OCULUSVR_16_0_OR_NEWER",
185+
},
131186
reqTypeNames = new string[] { "OVRPlugin+SystemHeadset" },
132187
validateFunc = (req) =>
133188
{
@@ -143,6 +198,22 @@ public OculusVRSymbolRequirementCollection()
143198
},
144199
reqFileNames = new string[] { "OVRPlugin.cs" },
145200
});
201+
202+
Add(new SymbolRequirement()
203+
{
204+
symbol = "VIU_OCULUSVR_20_0_OR_NEWER",
205+
symbols = new string[]
206+
{
207+
"VIU_OCULUSVR_1_32_0_OR_NEWER",
208+
"VIU_OCULUSVR_1_35_0_OR_NEWER",
209+
"VIU_OCULUSVR_1_36_0_OR_NEWER",
210+
"VIU_OCULUSVR_1_37_0_OR_NEWER",
211+
"VIU_OCULUSVR_16_0_OR_NEWER",
212+
"VIU_OCULUSVR_19_0_OR_NEWER",
213+
},
214+
reqTypeNames = new string[] { "OVRPlugin+HandState" },
215+
reqFileNames = new string[] { "OVRPlugin.cs" },
216+
});
146217
}
147218
}
148219
}

Assets/HTC.UnityPlugin/VRModule/Modules/Editor/UnityEngineVRModuleEditor.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,19 @@ public UnityEngineVRSymbolRequirementCollection()
151151
"PoseControl.cs",
152152
},
153153
});
154+
155+
Add(new VRModuleManagerEditor.SymbolRequirement()
156+
{
157+
symbol = "VIU_UIS_POSE_CONTROL",
158+
reqTypeNames = new string[]
159+
{
160+
"UnityEngine.InputSystem.XR.PoseControl",
161+
},
162+
reqFileNames = new string[]
163+
{
164+
"PoseControl.cs",
165+
},
166+
});
154167
}
155168
}
156169
}

Assets/HTC.UnityPlugin/VRModule/Modules/Editor/WaveVRModuleEditor.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@ public WaveVRSymbolRequirementCollection()
3939
reqFileNames = new string[] { "RenderModel.cs", "ButtonEffect.cs", "ControllerTips.cs" },
4040
});
4141

42+
Add(new SymbolRequirement()
43+
{
44+
symbol = "VIU_WAVEXR_OPENXR",
45+
reqTypeNames = new string[] { "Wave.OpenXR.VIVEFocus3Feature", "Wave.OpenXR.HTCViveFocus3Profile" },
46+
reqFileNames = new string[] { "VIVEOpenXRFeature.cs", "HTCViveFocus3Profile.cs" },
47+
});
48+
4249
Add(new SymbolRequirement()
4350
{
4451
symbol = "VIU_WAVEVR_2_0_32_OR_NEWER",

0 commit comments

Comments
 (0)