BuildPipelineBase

csharp
public abstract class BuildPipelineBase

Namespace NodeWorld.SDK.Editor.

Shared build pipeline infrastructure for avatar and world publishers. Handles concurrent-build guarding, platform switching, progress bar lifecycle, assembly reload locking, and build-completion eventing.

Properties

IsBuilding

csharp
public bool IsBuilding { get; }

A build is running.

Logger

csharp
protected NWLogger Logger { get; }

The pipeline's logger.

Methods

ExecuteBuild

csharp
protected void ExecuteBuild(string logTag, Func<string> buildAction, Action<bool, string> onCompleted)

Runs buildAction as one blocking build and reports its result.

RunWithBuildDiagnostics<T>

csharp
protected T RunWithBuildDiagnostics<T>(string label, string outputDiagnosticsPath, Func<T> action)

Runs action and writes what Unity logged meanwhile to outputDiagnosticsPath.

RunPlatformBuilds<TResult>

csharp
protected string RunPlatformBuilds<TResult>(List<BuildTarget> targets, string progressTitle, Func<BuildTarget, TResult> buildTarget, Action<List<TResult>> onAllBuilt)

Switches to each platform in turn and builds it.

SwitchBuildTarget

csharp
protected static void SwitchBuildTarget(BuildTarget target)

Switches Unity to target.

ValidateBuildTarget

csharp
protected static void ValidateBuildTarget(BuildTarget target)

Throws unless target is Windows, Linux or Android.

ValidateCommonBuildRequest

csharp
protected static void ValidateCommonBuildRequest(List<BuildTarget> targets)

Throws when targets is empty or holds an unsupported platform.

BuildAssetBundlesWithDiagnostics

csharp
protected static AssetBundleManifest BuildAssetBundlesWithDiagnostics(BuildAssetBundlesParameters parameters, string diagnosticsPath, string targetName)

Builds the asset bundles and writes Unity's log of the build next to them.

Events

BuildCompleted

csharp
public event Action<bool, string> BuildCompleted

Raised when a build ends: success, and a message.