mirror of
https://github.com/bdunderscore/modular-avatar.git
synced 2025-03-10 15:54:56 +08:00
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:
parent
deb6bbfe5e
commit
82d58e52fa
Binary file not shown.
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
using UnityEditor.UIElements;
|
using UnityEditor.UIElements;
|
||||||
@ -18,7 +19,7 @@ namespace VRC.PackageManagement.PackageMaker
|
|||||||
{
|
{
|
||||||
// VisualElements
|
// VisualElements
|
||||||
private VisualElement _rootView;
|
private VisualElement _rootView;
|
||||||
private TextField _targetAssetFolderField;
|
private TextField _targetAssetFolderField;
|
||||||
private TextField _packageIDField;
|
private TextField _packageIDField;
|
||||||
private Button _actionButton;
|
private Button _actionButton;
|
||||||
private EnumField _targetVRCPackageField;
|
private EnumField _targetVRCPackageField;
|
||||||
@ -31,6 +32,7 @@ namespace VRC.PackageManagement.PackageMaker
|
|||||||
{
|
{
|
||||||
_targetAssetFolderField.SetValueWithoutNotify(_windowData.targetAssetFolder);
|
_targetAssetFolderField.SetValueWithoutNotify(_windowData.targetAssetFolder);
|
||||||
}
|
}
|
||||||
|
|
||||||
_packageIDField.SetValueWithoutNotify(_windowData.packageID);
|
_packageIDField.SetValueWithoutNotify(_windowData.packageID);
|
||||||
_targetVRCPackageField.SetValueWithoutNotify(_windowData.relatedPackage);
|
_targetVRCPackageField.SetValueWithoutNotify(_windowData.relatedPackage);
|
||||||
|
|
||||||
@ -51,29 +53,33 @@ namespace VRC.PackageManagement.PackageMaker
|
|||||||
}
|
}
|
||||||
|
|
||||||
[MenuItem("Assets/Export VPM as UnityPackage")]
|
[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.");
|
string selectedFolder = AssetDatabase.GUIDToAssetPath(guid);
|
||||||
return;
|
var manifestPath = Path.Combine(selectedFolder, VRCPackageManifest.Filename);
|
||||||
}
|
var manifest = VRCPackageManifest.GetManifestAtPath(manifestPath);
|
||||||
|
if (manifest == null)
|
||||||
string selectedFolder = AssetDatabase.GUIDToAssetPath(Selection.assetGUIDs[0]);
|
{
|
||||||
var manifestPath = Path.Combine(selectedFolder, VRCPackageManifest.Filename);
|
Debug.LogWarning(
|
||||||
var manifest = VRCPackageManifest.GetManifestAtPath(manifestPath);
|
$"Could not read valid Package Manifest at {manifestPath}. You need to create this first to export a VPM Package.");
|
||||||
if (manifest == null)
|
continue;
|
||||||
{
|
}
|
||||||
Debug.LogWarning($"Could not read valid Package Manifest at {manifestPath}. You need to create this first.");
|
|
||||||
return;
|
exportFilename.Append($"-{manifest.Id}-{manifest.Version}");
|
||||||
|
foldersToExport.Add(selectedFolder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
exportFilename.Append(".unitypackage");
|
||||||
var exportDir = Path.Combine(Directory.GetCurrentDirectory(), "Exports");
|
var exportDir = Path.Combine(Directory.GetCurrentDirectory(), "Exports");
|
||||||
Directory.CreateDirectory(exportDir);
|
Directory.CreateDirectory(exportDir);
|
||||||
AssetDatabase.ExportPackage
|
AssetDatabase.ExportPackage
|
||||||
(
|
(
|
||||||
selectedFolder,
|
foldersToExport.ToArray(),
|
||||||
Path.Combine(exportDir, $"{manifest.Id}-{manifest.Version}.unitypackage"),
|
Path.Combine(exportDir, exportFilename.ToString()),
|
||||||
ExportPackageOptions.Recurse | ExportPackageOptions.Interactive
|
ExportPackageOptions.Recurse | ExportPackageOptions.Interactive
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -144,7 +150,7 @@ namespace VRC.PackageManagement.PackageMaker
|
|||||||
|
|
||||||
private void OnTargetVRCPackageChanged(ChangeEvent<Enum> evt)
|
private void OnTargetVRCPackageChanged(ChangeEvent<Enum> evt)
|
||||||
{
|
{
|
||||||
_windowData.relatedPackage = (VRCPackageEnum)evt.newValue;
|
_windowData.relatedPackage = (VRCPackageEnum) evt.newValue;
|
||||||
_windowData.Save();
|
_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 );
|
MethodInfo method = typeof(UnityEditor.PackageManager.Client).GetMethod("Resolve",
|
||||||
if( method != null )
|
BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.DeclaredOnly);
|
||||||
method.Invoke( null, null );
|
if (method != null)
|
||||||
|
method.Invoke(null, null);
|
||||||
|
|
||||||
AssetDatabase.Refresh();
|
AssetDatabase.Refresh();
|
||||||
}
|
}
|
||||||
@ -195,14 +202,16 @@ namespace VRC.PackageManagement.PackageMaker
|
|||||||
|
|
||||||
box.Add(new Label("Lowercase letters, numbers and dots only.")
|
box.Add(new Label("Lowercase letters, numbers and dots only.")
|
||||||
{
|
{
|
||||||
name="description",
|
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.",
|
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;
|
return box;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Regex packageIdRegex = new Regex("[^a-z0-9.]");
|
private Regex packageIdRegex = new Regex("[^a-z0-9.]");
|
||||||
|
|
||||||
private void OnPackageIDChanged(ChangeEvent<string> evt)
|
private void OnPackageIDChanged(ChangeEvent<string> evt)
|
||||||
{
|
{
|
||||||
if (evt.newValue != null)
|
if (evt.newValue != null)
|
||||||
@ -212,6 +221,7 @@ namespace VRC.PackageManagement.PackageMaker
|
|||||||
_windowData.packageID = newId;
|
_windowData.packageID = newId;
|
||||||
_windowData.Save();
|
_windowData.Save();
|
||||||
}
|
}
|
||||||
|
|
||||||
RefreshActionButtonState();
|
RefreshActionButtonState();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -223,15 +233,20 @@ namespace VRC.PackageManagement.PackageMaker
|
|||||||
};
|
};
|
||||||
|
|
||||||
_targetAssetFolderField = new TextField("Target Folder");
|
_targetAssetFolderField = new TextField("Target Folder");
|
||||||
_targetAssetFolderField.RegisterCallback<DragEnterEvent>(OnTargetAssetFolderDragEnter, TrickleDown.TrickleDown);
|
_targetAssetFolderField.RegisterCallback<DragEnterEvent>(OnTargetAssetFolderDragEnter,
|
||||||
_targetAssetFolderField.RegisterCallback<DragLeaveEvent>(OnTargetAssetFolderDragLeave, TrickleDown.TrickleDown);
|
TrickleDown.TrickleDown);
|
||||||
_targetAssetFolderField.RegisterCallback<DragUpdatedEvent>(OnTargetAssetFolderDragUpdated, TrickleDown.TrickleDown);
|
_targetAssetFolderField.RegisterCallback<DragLeaveEvent>(OnTargetAssetFolderDragLeave,
|
||||||
_targetAssetFolderField.RegisterCallback<DragPerformEvent>(OnTargetAssetFolderDragPerform, TrickleDown.TrickleDown);
|
TrickleDown.TrickleDown);
|
||||||
_targetAssetFolderField.RegisterCallback<DragExitedEvent>(OnTargetAssetFolderDragExited, TrickleDown.TrickleDown);
|
_targetAssetFolderField.RegisterCallback<DragUpdatedEvent>(OnTargetAssetFolderDragUpdated,
|
||||||
|
TrickleDown.TrickleDown);
|
||||||
|
_targetAssetFolderField.RegisterCallback<DragPerformEvent>(OnTargetAssetFolderDragPerform,
|
||||||
|
TrickleDown.TrickleDown);
|
||||||
|
_targetAssetFolderField.RegisterCallback<DragExitedEvent>(OnTargetAssetFolderDragExited,
|
||||||
|
TrickleDown.TrickleDown);
|
||||||
_targetAssetFolderField.RegisterValueChangedCallback(OnTargetAssetFolderValueChanged);
|
_targetAssetFolderField.RegisterValueChangedCallback(OnTargetAssetFolderValueChanged);
|
||||||
targetFolderBox.Add(_targetAssetFolderField);
|
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;
|
return targetFolderBox;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -309,7 +324,6 @@ namespace VRC.PackageManagement.PackageMaker
|
|||||||
|
|
||||||
private void DoMigration(string corePath, string targetDir)
|
private void DoMigration(string corePath, string targetDir)
|
||||||
{
|
{
|
||||||
|
|
||||||
EditorUtility.DisplayProgressBar("Migrating Package", "Creating Starter Package", 0.1f);
|
EditorUtility.DisplayProgressBar("Migrating Package", "Creating Starter Package", 0.1f);
|
||||||
|
|
||||||
// Convert PackageType enum to VRC Package ID string
|
// 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
|
// Clear target asset folder since it should no longer exist
|
||||||
_windowData.targetAssetFolder = "";
|
_windowData.targetAssetFolder = "";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static IEnumerable<string> GetAllFiles(string path)
|
private static IEnumerable<string> GetAllFiles(string path)
|
||||||
@ -408,5 +421,4 @@ namespace VRC.PackageManagement.PackageMaker
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -11,16 +11,17 @@ using UnityEngine;
|
|||||||
using VRC.PackageManagement.Core;
|
using VRC.PackageManagement.Core;
|
||||||
using VRC.PackageManagement.Core.Types;
|
using VRC.PackageManagement.Core.Types;
|
||||||
using VRC.PackageManagement.Core.Types.Packages;
|
using VRC.PackageManagement.Core.Types.Packages;
|
||||||
|
using Version = VRC.PackageManagement.Core.Types.VPMVersion.Version;
|
||||||
|
|
||||||
namespace VRC.PackageManagement.Resolver
|
namespace VRC.PackageManagement.Resolver
|
||||||
{
|
{
|
||||||
|
|
||||||
[InitializeOnLoad]
|
[InitializeOnLoad]
|
||||||
public class Resolver
|
public class Resolver
|
||||||
{
|
{
|
||||||
private const string _projectLoadedKey = "PROJECT_LOADED";
|
private const string _projectLoadedKey = "PROJECT_LOADED";
|
||||||
|
|
||||||
private static string _projectDir;
|
private static string _projectDir;
|
||||||
|
|
||||||
public static string ProjectDir
|
public static string ProjectDir
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@ -76,7 +77,6 @@ namespace VRC.PackageManagement.Resolver
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(ProjectDir))
|
if (string.IsNullOrWhiteSpace(ProjectDir))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@ -186,14 +186,14 @@ namespace VRC.PackageManagement.Resolver
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void ForceRefresh ()
|
public static void ForceRefresh()
|
||||||
{
|
{
|
||||||
MethodInfo method = typeof( UnityEditor.PackageManager.Client ).GetMethod( "Resolve", BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.DeclaredOnly );
|
MethodInfo method = typeof(UnityEditor.PackageManager.Client).GetMethod("Resolve",
|
||||||
if( method != null )
|
BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.DeclaredOnly);
|
||||||
method.Invoke( null, null );
|
if (method != null)
|
||||||
|
method.Invoke(null, null);
|
||||||
|
|
||||||
AssetDatabase.Refresh();
|
AssetDatabase.Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "com.vrchat.core.vpm-resolver",
|
"name": "com.vrchat.core.vpm-resolver",
|
||||||
"displayName": "VRChat Package Resolver Tool",
|
"displayName": "VRChat Package Resolver Tool",
|
||||||
"version": "0.1.17",
|
"version": "0.1.18",
|
||||||
"unity": "2019.4",
|
"unity": "2019.4",
|
||||||
"description": "Tool to Download VPM Packages",
|
"description": "Tool to Download VPM Packages",
|
||||||
"vrchatVersion": "2022.1.1",
|
"vrchatVersion": "2022.1.1",
|
||||||
|
@ -14,7 +14,7 @@ AudioImporter:
|
|||||||
forceToMono: 1
|
forceToMono: 1
|
||||||
normalize: 1
|
normalize: 1
|
||||||
preloadAudioData: 1
|
preloadAudioData: 1
|
||||||
loadInBackground: 0
|
loadInBackground: 1
|
||||||
ambisonic: 0
|
ambisonic: 0
|
||||||
3D: 1
|
3D: 1
|
||||||
userData:
|
userData:
|
||||||
|
@ -9,16 +9,18 @@
|
|||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"com.vrchat.avatars": {
|
"com.vrchat.avatars": {
|
||||||
"version": "3.1.10",
|
"version": "3.1.13",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"com.vrchat.base": "3.1.x"
|
"com.vrchat.base": "3.1.13"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.vrchat.base": {
|
"com.vrchat.base": {
|
||||||
"version": "3.1.10"
|
"version": "3.1.13",
|
||||||
|
"dependencies": {}
|
||||||
},
|
},
|
||||||
"com.vrchat.core.vpm-resolver": {
|
"com.vrchat.core.vpm-resolver": {
|
||||||
"version": "0.1.17"
|
"version": "0.1.18",
|
||||||
|
"dependencies": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user