SyncHistoryAttribute
Marks a NetworkVariable<T> field as part of the entity's recorded state history, so its value is snapshotted every tick alongside the pose and can be read back through NetworkIdentity.StateAt / HistoricalState.TryGetValue<T>.
Nebula · Packages/com.1by3.nebula/Runtime/Core/StateHistory.cs[AttributeUsage(AttributeTargets.Field, Inherited = true, AllowMultiple = false)]
public sealed class SyncHistoryAttribute : AttributeMarks a NetworkVariable<T> field as part of the entity's recorded state history, so its value is snapshotted every tick alongside the pose and can be read back through NetworkIdentity.StateAt / HistoricalState.TryGetValue<T>. Pose, velocity and container are always recorded; a variable is not, because a snapshot costs a serialization of its value every tick on every worker that holds a copy.
public sealed class Pawn : NetworkBehaviour
{
[SyncHistory] public NetworkVariable<byte> Stance = new NetworkVariable<byte>();
}Recording happens only on a worker (NebulaRuntime.IsServer) and only while NebulaConfig.StateHistoryTicks is above zero. See docs/state-history.md.
SyncDistanceRating
Whether a behavior's sync state reaches far clients less often, following the entity's distance tier as its transform does (NetworkBehaviour.SyncDistanceRating, docs/server-owned-entities.md D11).
SyncStateCodec
Envelope shared by the per-tick sync stream (EntityState/GhostSyncState messages) and the spawn snapshot: [count]{[behaviourIndex][flags][len:ushort][chunk]}.