Skip to content
Version 2.11.0
↓ Get the launcher

IPlayerIdentity interface

Identity and availability facet of the local player’s state.

public interface IPlayerIdentity
name description
CharId { get; } The local character’s stable, globally-unique id (the game’s char id); 0 when not yet known. Like Name/Level/Profession it is NOT gated by IsAvailable — it is read from the character record, so it is known even before the world entity syncs, and resets to 0 on logout.
IsAvailable { get; } True when the live world entity is readable and the IPlayerVitals / IPlayerLocation fields are meaningful. Identity (Name / Level / Profession) may be available even when this is false.
Level { get; } Character level; zero when not yet known. May be set while IsAvailable is false.
Name { get; } Character display name; null when not yet known. May be set while IsAvailable is false.
Profession { get; } Current profession id; zero when not yet known. May be set while IsAvailable is false.

IsAvailable reflects whether the live world entity is readable, and it gates the IPlayerVitals and IPlayerLocation facets: when it is false (title / character select / loading screens) those return defaults (zero, Zero).

The three identity properties below are deliberately NOT gated by IsAvailable. They fall back to the character record, so they can be populated while IsAvailable is false — the client knows who the player is even in states where the world entity’s attribute bag reads empty (e.g. after relaunching while mounted). Check the individual property for null/zero rather than gating identity reads on IsAvailable.