You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
159 lines
6.6 KiB
159 lines
6.6 KiB
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;
|
|
}
|
|
}
|
|
}
|