WorldContainerManifest
The baked container tree of a partitioned world: one container per cell plus every hand-authored Container found inside the cell scenes, with cell-local poses.
Nebula · Packages/com.1by3.nebula/Runtime/World/WorldContainerManifest.cs[CreateAssetMenu(menuName = "Nebula/World Container Manifest", fileName = "WorldContainers")]
public sealed class WorldContainerManifest : ScriptableObjectThe baked container tree of a partitioned world: one container per cell plus every hand-authored Container found inside the cell scenes, with cell-local poses. Every process instantiates the whole manifest at boot (thousands of empty transforms are cheap), so container indices are identical everywhere and never depend on which cell scenes happen to be loaded. Cell scenes stream content into those containers; the Container components authored in the scenes are stripped on load.
The entry order is the wire order: cells by Morton key, each followed by its nested containers, which is also the order the orchestrator deals contiguous runs of to workers. Rebake after moving or adding containers (Nebula > World).
Fields
World
public WorldDefinition World;Entries
public List<Entry> Entries = new List<Entry>();Methods
CellContainerId
public static string CellContainerId(Vector3Int coord);Id of the container spanning cell coord.
Compare
public static int Compare(Entry a, Entry b);Wire-order comparison: Morton key of the cell, cell container first, then larger boxes before smaller, then id.
Sort
public void Sort();Nested types
Entry
[Serializable]
public sealed class EntryFields
Id
public string Id = "";Cell
public Vector3Int Cell;IsCell
public bool IsCell;The container that spans the whole cell (one per cell).
LocalPosition
public Vector3 LocalPosition;Pose relative to the cell centre (cell-local).
LocalRotation
public Quaternion LocalRotation = Quaternion.identity;LocalScale
public Vector3 LocalScale = Vector3.one;Size
public Vector3 Size;Center
public Vector3 Center;