summaryrefslogtreecommitdiff
path: root/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3
diff options
context:
space:
mode:
Diffstat (limited to 'VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3')
-rw-r--r--VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor.meta8
-rw-r--r--VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter.meta8
-rw-r--r--VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter/UPMImporter.cs81
-rw-r--r--VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter/UPMImporter.cs.meta11
-rw-r--r--VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter/VRC.Udon.Editor.UPMImporter.asmdef16
-rw-r--r--VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter/VRC.Udon.Editor.UPMImporter.asmdef.meta7
-rw-r--r--VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/package.json7
-rw-r--r--VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/package.json.meta7
8 files changed, 145 insertions, 0 deletions
diff --git a/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor.meta b/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor.meta
new file mode 100644
index 00000000..50b2ccc9
--- /dev/null
+++ b/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 31289015c6005c047bd2b8ec073e10ed
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter.meta b/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter.meta
new file mode 100644
index 00000000..9324579e
--- /dev/null
+++ b/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fdb8a5d9760f61e4595c99b4e75b7acf
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter/UPMImporter.cs b/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter/UPMImporter.cs
new file mode 100644
index 00000000..61aa68fa
--- /dev/null
+++ b/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter/UPMImporter.cs
@@ -0,0 +1,81 @@
+using System.IO;
+using System.Linq;
+using UnityEditor;
+using UnityEditor.PackageManager;
+using UnityEditor.PackageManager.Requests;
+using UnityEngine;
+
+namespace VRC.Udon.Editor {
+ [InitializeOnLoad]
+ public class UPMImporter
+ {
+ // Add packages here to auto-import
+ public static string[] requiredPackages =
+ {
+ #if UNITY_2019_3_OR_NEWER
+ "com.unity.cinemachine@2.8.0",
+ "com.unity.postprocessing@3.1.1",
+ "com.unity.textmeshpro@2.1.6",
+ "com.unity.modules.androidjni@1.0.0",
+ "com.unity.timeline@1.2.18",
+ "com.unity.ugui@1.0.0",
+ "com.unity.test-framework@1.1.27",
+ "com.unity.package-manager-ui@2.2.0",
+ #else
+ "com.unity.cinemachine@2.6.1",
+ "com.unity.postprocessing@3.0.3",
+ "com.unity.textmeshpro@1.5.1",
+ #endif
+ };
+
+ private static ListRequest list;
+
+ static UPMImporter()
+ {
+ list = Client.List();
+ EditorApplication.update += Update;
+ }
+
+ public static void Update()
+ {
+ // Exit early if we're still gathering the list
+ if (!list.IsCompleted) return;
+
+ // Unsubscribe from Update once the list is ready
+ EditorApplication.update -= Update;
+
+ var localPackages = list.Result;
+ bool importedNewPackage = false;
+ foreach (string packageName in requiredPackages)
+ {
+ if(localPackages.All(p => $"{p.name}@{p.version}" != packageName))
+ {
+ Install(packageName);
+ importedNewPackage = true;
+ }
+ }
+
+ // if Unity tried to import SDK3 before required packages, it will have old errors showing.
+ //if(importedNewPackage) ClearLog();
+ }
+
+ public static bool Install(string id)
+ {
+ var request = Client.Add(id);
+ while (!request.IsCompleted) {};
+ if(request.Error != null)Debug.LogError(request.Error.message);
+ return request.Error == null;
+ }
+
+ public static void ClearLog()
+ {
+ System.Reflection.Assembly assembly = System.Reflection.Assembly.GetAssembly(typeof(SceneView));
+
+ System.Type type = assembly.GetType("UnityEditor.LogEntries");
+ System.Reflection.MethodInfo method = type.GetMethod("Clear");
+ method.Invoke(new object(), null);
+ }
+
+ }
+
+}
diff --git a/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter/UPMImporter.cs.meta b/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter/UPMImporter.cs.meta
new file mode 100644
index 00000000..f5ad3123
--- /dev/null
+++ b/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter/UPMImporter.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1056c67d11ce3ce41b80a979e05732c4
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter/VRC.Udon.Editor.UPMImporter.asmdef b/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter/VRC.Udon.Editor.UPMImporter.asmdef
new file mode 100644
index 00000000..f13f0c7b
--- /dev/null
+++ b/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter/VRC.Udon.Editor.UPMImporter.asmdef
@@ -0,0 +1,16 @@
+{
+ "name": "VRC.Udon.Editor.UPMImporter",
+ "references": [
+ "VRC.Udon.Editor"
+ ],
+ "optionalUnityReferences": [],
+ "includePlatforms": [
+ "Editor"
+ ],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": false,
+ "precompiledReferences": [],
+ "autoReferenced": true,
+ "defineConstraints": []
+} \ No newline at end of file
diff --git a/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter/VRC.Udon.Editor.UPMImporter.asmdef.meta b/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter/VRC.Udon.Editor.UPMImporter.asmdef.meta
new file mode 100644
index 00000000..027abae1
--- /dev/null
+++ b/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/Editor/UPMImporter/VRC.Udon.Editor.UPMImporter.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 4704b64fff8057d49a97d061be599eea
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/package.json b/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/package.json
new file mode 100644
index 00000000..95b54316
--- /dev/null
+++ b/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/package.json
@@ -0,0 +1,7 @@
+{
+ "name" : "com.vrchat.vrcsdk3",
+ "displayName" : "VRChat SDK3 - Worlds",
+ "version" : "2020.3.2",
+ "unity" : "2018.4",
+ "description" : "SDK 3 with Udon, our in-house node-based scripting language for awesome interactivity!"
+} \ No newline at end of file
diff --git a/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/package.json.meta b/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/package.json.meta
new file mode 100644
index 00000000..668595ab
--- /dev/null
+++ b/VRCSDK3Worlds/Packages/com.vrchat.vrcsdk3/package.json.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 6d4603f5cd56d5f4289993be967b5ef2
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant: