FarEntity
An entity of the far relevance tier as a client sees it (NEB-388, docs/interest-management.md §16): a large or important entity beyond its normal relevance radius, with no replica, no variables and no RPCs, only enough to draw a marker o...
Nebula · Packages/com.1by3.nebula/Runtime/Client/FarEntity.cspublic sealed class FarEntityAn entity of the far relevance tier as a client sees it (NEB-388, docs/interest-management.md §16): a large or important entity beyond its normal relevance radius, with no replica, no variables and no RPCs, only enough to draw a marker or an impostor and to target it. Updated at the entity's far rate (UpdateRate, 1 Hz by default); PredictedWorldPosition extrapolates between updates.
Position is absolute in the entity's scope and in double: the gateway sends it that way, so it is good to well under a millimetre at any distance a scope spans. WorldPosition is the same point in this client's Unity space (its floating origin taken off), which is what a marker is drawn at; it is in the scope's own space, outside every physics frame, so a ship standing on a turning planet is where the planet carries it.
Properties
NetId
public ulong NetId { get; }Epoch
public uint Epoch { get; }PrefabId
public ushort PrefabId { get; }The entity's prefab, so a game can pick the marker or impostor to draw.
OwnerClientId
public ulong OwnerClientId { get; }InterestGroup
public byte InterestGroup { get; }InstanceId
public ulong InstanceId { get; }The isolation id of its scope (0: the public world).
Radius
public float Radius { get; }Its far radius, metres.
UpdateRate
public float UpdateRate { get; }Its far updates per second.
Position
public Double3 Position { get; }Absolute position in its scope, metres, double precision.
Rotation
public Quaternion Rotation { get; }Rotation in its scope's own space.
Velocity
public Vector3 Velocity { get; }Velocity in its scope's own space, m/s (half precision).
ReceivedAt
public double ReceivedAt { get; }Time.unscaledTimeAsDouble when the newest update arrived.
WorldPosition
public Vector3 WorldPosition { get; }Position in this client's Unity space (its floating origin taken off, in double).
Methods
PredictedWorldPosition
public Vector3 PredictedWorldPosition(double now = double.NaN);WorldPosition carried on by Velocity to now (default: now), at most two update intervals ahead, so a marker moves smoothly between one-a-second updates.
ToString
public override string ToString();