Nebula
Client

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...

generated from the sources
public sealed class 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 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();

On this page