Created
February 24, 2021 11:03
-
-
Save MyelinsheathXD/520f1cc907246db421b4637f7d8e58ce to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.IO; | |
using UnityEditor.PackageManager; | |
using UnityEngine; | |
namespace UnityEditor.Extensions | |
{ | |
#if UNITY_2017_3_OR_NEWER | |
/// <summary> | |
/// Editor extension for embedding packages as a local copy in the project. | |
/// This can be useful in case you want to modify the package's source code. | |
/// </summary> | |
public static class EmbedPackage | |
{ | |
[MenuItem("Assets/Embed Package", false, 1000000)] | |
private static void EmbedPackageMenuItem() | |
{ | |
var selection = Selection.activeObject; | |
var packageName = Path.GetFileName(AssetDatabase.GetAssetPath(selection)); | |
Debug.Log($"Embedding package '{packageName}' into the project."); | |
Client.Embed(packageName); | |
AssetDatabase.Refresh(); | |
} | |
[MenuItem("Assets/Embed Package", true)] | |
private static bool EmbedPackageValidation() | |
{ | |
var selection = Selection.activeObject; | |
if (selection == null) | |
{ | |
return false; | |
} | |
var path = AssetDatabase.GetAssetPath(selection); | |
var folder = Path.GetDirectoryName(path); | |
// We only deal with direct folders under Packages/ | |
return folder == "Packages"; | |
} | |
} | |
#endif | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment