fix: clap sample can't be uploaded on SDK 3.1.13 (#273)

* chore: update VPM dependencies

* fix: set sample audio clip to load in background
This commit is contained in:
bd_ 2023-04-10 21:27:10 +09:00 committed by GitHub
parent deb6bbfe5e
commit 82d58e52fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 86 additions and 72 deletions

View File

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Text.RegularExpressions;
using UnityEditor;
using UnityEditor.UIElements;
@ -31,6 +32,7 @@ namespace VRC.PackageManagement.PackageMaker
{
_targetAssetFolderField.SetValueWithoutNotify(_windowData.targetAssetFolder);
}
_packageIDField.SetValueWithoutNotify(_windowData.packageID);
_targetVRCPackageField.SetValueWithoutNotify(_windowData.relatedPackage);
@ -51,29 +53,33 @@ namespace VRC.PackageManagement.PackageMaker
}
[MenuItem("Assets/Export VPM as UnityPackage")]
private static void ExportAsUnityPackage ()
private static void ExportAsUnityPackage()
{
if (Selection.assetGUIDs.Length != 1)
var foldersToExport = new List<string>();
StringBuilder exportFilename = new StringBuilder("exported");
foreach (string guid in Selection.assetGUIDs)
{
Debug.LogWarning($"Cannot export selection, must be a single Folder.");
return;
}
string selectedFolder = AssetDatabase.GUIDToAssetPath(Selection.assetGUIDs[0]);
string selectedFolder = AssetDatabase.GUIDToAssetPath(guid);
var manifestPath = Path.Combine(selectedFolder, VRCPackageManifest.Filename);
var manifest = VRCPackageManifest.GetManifestAtPath(manifestPath);
if (manifest == null)
{
Debug.LogWarning($"Could not read valid Package Manifest at {manifestPath}. You need to create this first.");
return;
Debug.LogWarning(
$"Could not read valid Package Manifest at {manifestPath}. You need to create this first to export a VPM Package.");
continue;
}
exportFilename.Append($"-{manifest.Id}-{manifest.Version}");
foldersToExport.Add(selectedFolder);
}
exportFilename.Append(".unitypackage");
var exportDir = Path.Combine(Directory.GetCurrentDirectory(), "Exports");
Directory.CreateDirectory(exportDir);
AssetDatabase.ExportPackage
(
selectedFolder,
Path.Combine(exportDir, $"{manifest.Id}-{manifest.Version}.unitypackage"),
foldersToExport.ToArray(),
Path.Combine(exportDir, exportFilename.ToString()),
ExportPackageOptions.Recurse | ExportPackageOptions.Interactive
);
}
@ -144,7 +150,7 @@ namespace VRC.PackageManagement.PackageMaker
private void OnTargetVRCPackageChanged(ChangeEvent<Enum> evt)
{
_windowData.relatedPackage = (VRCPackageEnum)evt.newValue;
_windowData.relatedPackage = (VRCPackageEnum) evt.newValue;
_windowData.Save();
}
@ -173,11 +179,12 @@ namespace VRC.PackageManagement.PackageMaker
}
}
public static void ForceRefresh ()
public static void ForceRefresh()
{
MethodInfo method = typeof( UnityEditor.PackageManager.Client ).GetMethod( "Resolve", BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.DeclaredOnly );
if( method != null )
method.Invoke( null, null );
MethodInfo method = typeof(UnityEditor.PackageManager.Client).GetMethod("Resolve",
BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.DeclaredOnly);
if (method != null)
method.Invoke(null, null);
AssetDatabase.Refresh();
}
@ -195,14 +202,16 @@ namespace VRC.PackageManagement.PackageMaker
box.Add(new Label("Lowercase letters, numbers and dots only.")
{
name="description",
tooltip = "Standard practice is reverse domain notation like com.vrchat.packagename. Needs to be unique across VRChat, so if you don't own a domain you can try your username.",
name = "description",
tooltip =
"Standard practice is reverse domain notation like com.vrchat.packagename. Needs to be unique across VRChat, so if you don't own a domain you can try your username.",
});
return box;
}
private Regex packageIdRegex = new Regex("[^a-z0-9.]");
private void OnPackageIDChanged(ChangeEvent<string> evt)
{
if (evt.newValue != null)
@ -212,6 +221,7 @@ namespace VRC.PackageManagement.PackageMaker
_windowData.packageID = newId;
_windowData.Save();
}
RefreshActionButtonState();
}
@ -223,15 +233,20 @@ namespace VRC.PackageManagement.PackageMaker
};
_targetAssetFolderField = new TextField("Target Folder");
_targetAssetFolderField.RegisterCallback<DragEnterEvent>(OnTargetAssetFolderDragEnter, TrickleDown.TrickleDown);
_targetAssetFolderField.RegisterCallback<DragLeaveEvent>(OnTargetAssetFolderDragLeave, TrickleDown.TrickleDown);
_targetAssetFolderField.RegisterCallback<DragUpdatedEvent>(OnTargetAssetFolderDragUpdated, TrickleDown.TrickleDown);
_targetAssetFolderField.RegisterCallback<DragPerformEvent>(OnTargetAssetFolderDragPerform, TrickleDown.TrickleDown);
_targetAssetFolderField.RegisterCallback<DragExitedEvent>(OnTargetAssetFolderDragExited, TrickleDown.TrickleDown);
_targetAssetFolderField.RegisterCallback<DragEnterEvent>(OnTargetAssetFolderDragEnter,
TrickleDown.TrickleDown);
_targetAssetFolderField.RegisterCallback<DragLeaveEvent>(OnTargetAssetFolderDragLeave,
TrickleDown.TrickleDown);
_targetAssetFolderField.RegisterCallback<DragUpdatedEvent>(OnTargetAssetFolderDragUpdated,
TrickleDown.TrickleDown);
_targetAssetFolderField.RegisterCallback<DragPerformEvent>(OnTargetAssetFolderDragPerform,
TrickleDown.TrickleDown);
_targetAssetFolderField.RegisterCallback<DragExitedEvent>(OnTargetAssetFolderDragExited,
TrickleDown.TrickleDown);
_targetAssetFolderField.RegisterValueChangedCallback(OnTargetAssetFolderValueChanged);
targetFolderBox.Add(_targetAssetFolderField);
targetFolderBox.Add(new Label("Drag and Drop an Assets Folder to Convert Above"){name="description"});
targetFolderBox.Add(new Label("Drag and Drop an Assets Folder to Convert Above") {name = "description"});
return targetFolderBox;
}
@ -309,7 +324,6 @@ namespace VRC.PackageManagement.PackageMaker
private void DoMigration(string corePath, string targetDir)
{
EditorUtility.DisplayProgressBar("Migrating Package", "Creating Starter Package", 0.1f);
// Convert PackageType enum to VRC Package ID string
@ -337,7 +351,6 @@ namespace VRC.PackageManagement.PackageMaker
// Clear target asset folder since it should no longer exist
_windowData.targetAssetFolder = "";
}
private static IEnumerable<string> GetAllFiles(string path)
@ -408,5 +421,4 @@ namespace VRC.PackageManagement.PackageMaker
#endregion
}
}

View File

@ -11,16 +11,17 @@ using UnityEngine;
using VRC.PackageManagement.Core;
using VRC.PackageManagement.Core.Types;
using VRC.PackageManagement.Core.Types.Packages;
using Version = VRC.PackageManagement.Core.Types.VPMVersion.Version;
namespace VRC.PackageManagement.Resolver
{
[InitializeOnLoad]
public class Resolver
{
private const string _projectLoadedKey = "PROJECT_LOADED";
private static string _projectDir;
public static string ProjectDir
{
get
@ -76,7 +77,6 @@ namespace VRC.PackageManagement.Resolver
try
{
if (string.IsNullOrWhiteSpace(ProjectDir))
{
return;
@ -186,14 +186,14 @@ namespace VRC.PackageManagement.Resolver
return null;
}
public static void ForceRefresh ()
public static void ForceRefresh()
{
MethodInfo method = typeof( UnityEditor.PackageManager.Client ).GetMethod( "Resolve", BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.DeclaredOnly );
if( method != null )
method.Invoke( null, null );
MethodInfo method = typeof(UnityEditor.PackageManager.Client).GetMethod("Resolve",
BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.DeclaredOnly);
if (method != null)
method.Invoke(null, null);
AssetDatabase.Refresh();
}
}
}

View File

@ -1,7 +1,7 @@
{
"name": "com.vrchat.core.vpm-resolver",
"displayName": "VRChat Package Resolver Tool",
"version": "0.1.17",
"version": "0.1.18",
"unity": "2019.4",
"description": "Tool to Download VPM Packages",
"vrchatVersion": "2022.1.1",

View File

@ -14,7 +14,7 @@ AudioImporter:
forceToMono: 1
normalize: 1
preloadAudioData: 1
loadInBackground: 0
loadInBackground: 1
ambisonic: 0
3D: 1
userData:

View File

@ -9,16 +9,18 @@
},
"locked": {
"com.vrchat.avatars": {
"version": "3.1.10",
"version": "3.1.13",
"dependencies": {
"com.vrchat.base": "3.1.x"
"com.vrchat.base": "3.1.13"
}
},
"com.vrchat.base": {
"version": "3.1.10"
"version": "3.1.13",
"dependencies": {}
},
"com.vrchat.core.vpm-resolver": {
"version": "0.1.17"
"version": "0.1.18",
"dependencies": {}
}
}
}