NebulaWorld
Nebula's side of a partitioned world (WorldDefinition + WorldContainerManifest): instantiates the manifest's container tree for the registry, owns the WorldStreamer, keeps the virtual containers and every entity's cached positions in ste...
Nebula · Packages/com.1by3.nebula/Runtime/World/NebulaWorld.cspublic static class NebulaWorldNebula's side of a partitioned world (WorldDefinition + WorldContainerManifest): instantiates the manifest's container tree for the registry, owns the WorldStreamer, keeps the virtual containers and every entity's cached positions in step with origin shifts, and strips the authoring Container components out of cell scenes as they stream in. Inactive (everything behaves as a single scene) when NebulaConfig.WorldManifest is unset.
Properties
Manifest
public static WorldContainerManifest Manifest { get; }Definition
public static WorldDefinition Definition { get; }Streamer
public static WorldStreamer Streamer { get; }IsActive
public static bool IsActive { get; }Root
public static GameObject Root { get; }Methods
Load
public static void Load(WorldContainerManifest manifest);Instantiate the manifest and populate ContainerRegistry. Call once at boot, before any role starts.
Unload
public static void Unload();CellContainer
public static Container CellContainer(Vector3Int cell);The container spanning cell, or null.
IsContentLoaded
public static bool IsContentLoaded(Container container);Whether the content of the cell holding container is loaded in this process.
IWorldAnchor
Something the streamer keeps cells loaded around.
NebulaWorldStreaming
Decides, per role, which cells this process keeps loaded and where the floating origin sits: worker: the cells of every container it leases plus NebulaConfig.WorkerLoadRingCells rings around them (seam physics and ghosts need the neighbo...