KnownPackages.cs
6.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace UnityEditor.XR.Management.Metadata
{
internal class KnownPackages
{
internal static string k_KnownPackageMockHMDLoader = "Unity.XR.MockHMD.MockHMDLoader";
class KnownLoaderMetadata : IXRLoaderMetadata
{
public string loaderName { get; set; }
public string loaderType { get; set; }
public List<BuildTargetGroup> supportedBuildTargets { get; set; }
}
class KnownPackageMetadata : IXRPackageMetadata
{
public string packageName { get; set; }
public string packageId { get; set; }
public string settingsType { get; set; }
public List<IXRLoaderMetadata> loaderMetadata { get; set; }
}
class KnownPackage : IXRPackage
{
public IXRPackageMetadata metadata { get; set; }
public bool PopulateNewSettingsInstance(ScriptableObject obj) { return true; }
}
private static Lazy<List<IXRPackage>> s_KnownPackages = new Lazy<List<IXRPackage>>(InitKnownPackages);
internal static List<IXRPackage> Packages => s_KnownPackages.Value;
static List<IXRPackage> InitKnownPackages()
{
List<IXRPackage> packages = new List<IXRPackage>();
packages.Add(new KnownPackage() {
metadata = new KnownPackageMetadata(){
packageName = "Windows XR Plugin",
packageId = "com.unity.xr.windowsmr",
settingsType = "UnityEditor.XR.WindowsMR.WindowsMRPackageSettings",
loaderMetadata = new List<IXRLoaderMetadata>() {
new KnownLoaderMetadata() {
loaderName = "Windows Mixed Reality",
loaderType = "UnityEngine.XR.WindowsMR.WindowsMRLoader",
supportedBuildTargets = new List<BuildTargetGroup>() {
BuildTargetGroup.Standalone,
BuildTargetGroup.WSA
}
},
}
}
});
packages.Add(new KnownPackage() {
metadata = new KnownPackageMetadata(){
packageName = "Oculus XR Plugin",
packageId = "com.unity.xr.oculus",
settingsType = "Unity.XR.Oculus.OculusSettings",
loaderMetadata = new List<IXRLoaderMetadata>() {
new KnownLoaderMetadata() {
loaderName = "Oculus",
loaderType = "Unity.XR.Oculus.OculusLoader",
supportedBuildTargets = new List<BuildTargetGroup>() {
BuildTargetGroup.Standalone,
BuildTargetGroup.Android,
}
},
}
}
});
packages.Add(new KnownPackage() {
metadata = new KnownPackageMetadata(){
packageName = "Magic Leap XR Plugin",
packageId = "com.unity.xr.magicleap",
settingsType = "UnityEngine.XR.MagicLeap.MagicLeapSettings",
loaderMetadata = new List<IXRLoaderMetadata>() {
new KnownLoaderMetadata() {
loaderName = "Magic Leap Zero Iteration",
loaderType = "UnityEngine.XR.MagicLeap.MagicLeapLoader",
supportedBuildTargets = new List<BuildTargetGroup>() {
BuildTargetGroup.Standalone,
}
},
new KnownLoaderMetadata() {
loaderName = "Magic Leap",
loaderType = "UnityEngine.XR.MagicLeap.MagicLeapLoader",
supportedBuildTargets = new List<BuildTargetGroup>() {
BuildTargetGroup.Lumin
}
},
}
}
});
packages.Add(new KnownPackage() {
metadata = new KnownPackageMetadata(){
packageName = "ARCore XR Plugin",
packageId = "com.unity.xr.arcore",
settingsType = "UnityEditor.XR.ARCore.ARCoreSettings",
loaderMetadata = new List<IXRLoaderMetadata>() {
new KnownLoaderMetadata() {
loaderName = "ARCore",
loaderType = "UnityEngine.XR.ARCore.ARCoreLoader",
supportedBuildTargets = new List<BuildTargetGroup>() {
BuildTargetGroup.Android,
}
},
}
}
});
packages.Add(new KnownPackage() {
metadata = new KnownPackageMetadata(){
packageName = "ARKit XR Plugin",
packageId = "com.unity.xr.arkit",
settingsType = "UnityEditor.XR.ARKit.ARKitSettings",
loaderMetadata = new List<IXRLoaderMetadata>() {
new KnownLoaderMetadata() {
loaderName = "ARKit",
loaderType = "UnityEngine.XR.ARKit.ARKitLoader",
supportedBuildTargets = new List<BuildTargetGroup>() {
BuildTargetGroup.iOS,
}
},
}
}
});
packages.Add(new KnownPackage() {
metadata = new KnownPackageMetadata() {
packageName = "MockHMD XR Plugin",
packageId = "com.unity.xr.mock-hmd",
settingsType = "Unity.XR.MockHMD.MockHMDBuildSettings",
loaderMetadata = new List<IXRLoaderMetadata>() {
new KnownLoaderMetadata() {
loaderName = "Unity Mock HMD",
loaderType = k_KnownPackageMockHMDLoader,
supportedBuildTargets = new List<BuildTargetGroup>() {
BuildTargetGroup.Standalone,
BuildTargetGroup.Android
}
},
}
}
});
return packages;
}
}
}