IShouldIncludeInBuildCallback
Interface used by the Package Manager to request build information about packages.
Read time 1 minuteLast updated 12 days ago
Definition
- Type: Interface
- Namespace: UnityEditor.PackageManager
- Assembly: UnityEditor.CoreModule
public interface IShouldIncludeInBuildCallback
Remarks
During a build, the IShouldIncludeInBuildCallback.ShouldIncludeInBuild method is invoked on each managed plugin (DLL) inside the package whose name is IShouldIncludeInBuildCallback.PackageName.
Register your implementation with the Package Manager using RegisterShouldIncludeInBuildCallback. You can register only one implementation of this interface per package.
Consider using PluginImporter.SetIncludeInBuildDelegate for a simpler alternative.
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"); }}
Related information
Properties
Property | Description |
|---|---|
| PackageName | The package name. |
Methods
Method | Description |
|---|---|
| ShouldIncludeInBuild | Determines whether to include a managed plugin in a build. |