public record class BuildStepSomething extra a player build does, contributed by a module, a plugin or a project script.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Doc 36 § D4's build-step row and doc 11's second unreachable extension point, on P2's terms. A contribution kind is a record in the assembly that owns it and IEditorRegistry.Add is the whole surface — there is no method on PluginContext for this and deliberately is not.
⚠ Here rather than in Vixen.Editor.Core, because what a step is handed is PlayerBuild's vocabulary. A plugin that wants to write one references this assembly, which is the same bargain ImporterContributions struck: the contract assembly does not drag a two-dozen-format model importer into every plugin that only adds a menu item.
⚠ A refusal is a string, like every other refusal in this subsystem. BuildRefusal, DeployRefusal and SceneTrouble all answer "why not, or null", and a step that threw instead would take the whole task down with a stack trace where a sentence belongs. An exception out of a step is still an exception — this is the way to stop a build, not the way to survive a bug.
Fields and properties (4)
public string IdWhat it is called, which is what a refusal is reported against.
public BuildStage StageWhen it runs.
public Func<BuildStepContext, CancellationToken, ValueTask<string?>> RunThe work, returning why the build must stop or .
public int OrderWhat order steps of one stage run in; equal orders keep the order they were added in.
Methods (1)
public BuildStep(string Id, BuildStage Stage, Func<BuildStepContext, CancellationToken, ValueTask<string?>> Run)Something extra a player build does, contributed by a module, a plugin or a project script.
Used by (5)
- BuildStepContributionTestsVixen.Editor.App.Tests
- BuildStepTestsVixen.Editor.Assets.Tests
- BuildStepsVixen.Editor.Assets
- EditorApplicationVixen.Editor.App
- PlayerBuildRequestVixen.Editor.App