Nebula
Editor

NebulaBuild

Builds the Unity player for workers and clients, exports service data, and publishes the standalone .NET orchestrator and gateway beside it.

generated from the sources
Static class in namespace Nebula.Editor · Packages/com.1by3.nebula/Editor/NebulaBuild.cs
public static class NebulaBuild

Builds the Unity player for workers and clients, exports service data, and publishes the standalone .NET orchestrator and gateway beside it. Requires the .NET 10 SDK. Menu: Nebula > Build.

  • Windows player: Builds/Win64/Nebula.exe - the local mesh, bots and the human client.
  • Linux player: Builds/Linux64Player/Nebula.x86_64 - the human client on Linux desktops.
  • Linux dedicated server: Builds/Linux64/Nebula.x86_64 - the worker simulation on cloud VMs.

Batchmode: Unity -batchmode -quit -projectPath . -executeMethod Nebula.Editor.NebulaBuild.BuildWindowsBatch, ...NebulaBuild.BuildLinuxBatch, ...NebulaBuild.BuildMacBatch, ...NebulaBuild.BuildLinuxServerBatch or ...NebulaBuild.BuildWebBatch.

Properties

ProjectRoot

public static string ProjectRoot { get; }

BuildDir

public static string BuildDir { get; }

ExecutablePath

public static string ExecutablePath { get; }

LinuxBuildDir

public static string LinuxBuildDir { get; }

LinuxExecutablePath

public static string LinuxExecutablePath { get; }

LinuxPlayerBuildDir

public static string LinuxPlayerBuildDir { get; }

LinuxPlayerExecutablePath

public static string LinuxPlayerExecutablePath { get; }

MacBuildDir

public static string MacBuildDir { get; }

MacExecutablePath

public static string MacExecutablePath { get; }

WebBuildDir

public static string WebBuildDir { get; }

Methods

BuildWindowsMenu

[MenuItem("Nebula/Build/Windows Player (Mono, development)", priority = 0)]
public static void BuildWindowsMenu();

BuildLinuxMenu

[MenuItem("Nebula/Build/Linux Player (Mono, development)", priority = 1)]
public static void BuildLinuxMenu();

BuildLinuxServerMenu

[MenuItem("Nebula/Build/Linux Dedicated Server (per NebulaConfig: Mono, development by default)", priority = 2)]
public static void BuildLinuxServerMenu();

BuildWindows

public static BuildReport BuildWindows();

BuildLinux

public static BuildReport BuildLinux();

Linux player (Builds/Linux64Player/Nebula.x86_64): the client for Linux desktops. It has its own folder so it never overwrites the dedicated server in Builds/Linux64.

BuildLinuxServer

public static BuildReport BuildLinuxServer();

BuildMac

public static BuildReport BuildMac();

macOS player (Builds/MacOS/Nebula.app): what nebula start runs on a Mac.

BuildWebMenu

[MenuItem("Nebula/Build/Web Client", priority = 3)]
public static void BuildWebMenu();

BuildWeb

public static BuildReport BuildWeb();

Web client (Builds/Web): a browser build that reaches the gateway over WebRTC. The standalone gateway serves it from a Web folder beside its own build folder, so nebula start puts it at http://127.0.0.1:7000/. The build is gzip-compressed, because browsers accept brotli only over HTTPS.

BuildWebBatch

public static void BuildWebBatch();

Entry point for batchmode web client builds; exits with a non-zero code on failure.

BuildWindowsBatch

public static void BuildWindowsBatch();

Entry point for batchmode builds; exits with a non-zero code on failure.

BuildLinuxBatch

public static void BuildLinuxBatch();

Entry point for batchmode Linux player builds; exits with a non-zero code on failure.

BuildLinuxServerBatch

public static void BuildLinuxServerBatch();

Entry point for batchmode Linux server builds; exits with a non-zero code on failure.

BuildMacBatch

public static void BuildMacBatch();

Entry point for batchmode macOS player builds; exits with a non-zero code on failure.

On this page