IShouldIncludeInBuildCallback
Группа методов устарела
интерфейс в UnityEditor.PackageManager
Declaration
ObsoleteОписание
Интерфейс, используемый Package Manager для запроса информации о сборке пакетов.
Во время сборки метод ShouldIncludeInBuild вызывает каждый управляемый плагин (DLL) внутри пакета, имя которого PackageName.
Зарегистрируйте свою реализацию в Package Manager через BuildUtilities.RegisterShouldIncludeInBuildCallback. Для одного пакета можно зарегистрировать только одну реализацию этого интерфейса.
Рассмотрите возможность использования PluginImporter.SetIncludeInBuildDelegate для более простой альтернативы.
using UnityEngine; using UnityEditor; using UnityEditor.PackageManager;
[ExecuteInEditMode] public class BuildCallbackExample : MonoBehaviour { void Start() { Debug.Log("IShouldIncludeInBuildCallback example..."); TestPluginInclusion(); }
void TestPluginInclusion() { var callback = new CustomPackageBuildCallback(); Debug.Log($"Checking plugins for package: {callback.PackageName}");
// Test with different plugin paths CheckPlugin(callback, "/Packages/com.mycompany.mypackage/Runtime/MyPlugin.dll"); CheckPlugin(callback, "/Packages/com.mycompany.mypackage/Editor/MyEditorPlugin.dll"); }
void CheckPlugin(IShouldIncludeInBuildCallback callback, string pluginPath) { bool include = callback.ShouldIncludeInBuild(pluginPath); Debug.Log($"Include plugin {pluginPath}: {include}"); } }
public class CustomPackageBuildCallback : IShouldIncludeInBuildCallback { public string PackageName => "com.mycompany.mypackage";
public bool ShouldIncludeInBuild(string path) { // Example: Include only plugins with "Runtime" in their path return path.Contains("Runtime"); } }
Соответствующая информация
PluginImporter.SetIncludeInBuildDelegate