Configure
#void Configure(GlessTelemetryConfig config)Creates the runtime and starts collection when required fields are valid.
Standalone web API reference for the G-Less game telemetry SDK. The Agent Skill is a separate integration asset and does not replace this page.
SDK version
0.1.0HTTP API
v1Event protocol
4CFG
| Field | Type / example | Meaning |
|---|---|---|
| endpoint | https://g-less.com/api/v1/telemetry/ingest | Use the versioned HTTPS endpoint. |
| projectId | UUID | Project ID from the workspace. |
| writeKey | gls_pk_… | Append-only key; never commit it. |
| channel | demo | playtest | retail | development | Stable release environment. |
| buildId | string | Unique for every materially different binary. |
| enabledByDefault | bool | Default privacy choice; still expose an in-game toggle. |
| captureSteamAccountId | bool | Sends only a project-scoped pseudonym, never the raw Steam ID. |
API
void Configure(GlessTelemetryConfig config)Creates the runtime and starts collection when required fields are valid.
void SetEnabled(bool enabled)Applies player opt-in or opt-out immediately.
bool IsConfigured { get; }Whether endpoint, project and write-key configuration is usable.
bool IsEnabled { get; }Whether the configured runtime currently accepts events.
string SessionId { get; }Anonymous ID for the active application session.
API
string StartRun(string mode = "default", string category = "", int playerCount = -1, int teammateCount = -1, bool matchmakingAttempted = false, bool matchmakingSucceeded = false)Starts one gameplay attempt and returns its run ID.
void EndRun(string outcome, double score = 0)Ends the active run with a stable outcome and optional score.
void SetProgress(double depthMeters, string stage = "")Updates exact depth/progress and an optional stable stage.
void UpdateRunPopulation(int playerCount, int teammateCount)Records a changed run population without emitting unchanged values.
void TrackProgression(string progression, string status, double value = 0)Records a named progression lifecycle step.
API
void TrackMatchmakingAttempt(string category, string mode, int partySize)Records an accepted queue attempt.
void TrackMatchmakingResult(string category, string mode, bool succeeded, string result, int partySize, int teammateCount, double durationSeconds)Records the terminal matchmaking result and wait time.
void TrackInteraction(string action, string surface, string target, string category = "", string mode = "")Records a low-cardinality accepted UI action.
API
void TrackResourceTransaction(string direction, string currency, double amount, string reason, string itemCategory = "", string itemId = "", double balanceAfter = -1)Records a currency or item source/sink.
void TrackUpgrade(string upgradeId, string category, int levelBefore, int levelAfter, string result, string costCurrency = "", double costAmount = 0)Records accepted, failed or rejected upgrades.
void TrackQuest(string questId, string category, string status, double progressValue = 0)Records quest lifecycle state.
API
void TrackCustomEvent(string name, IDictionary<string, object> properties = null)Records a low-cardinality custom event with small scalar properties.
void TrackPerformanceSnapshot(double averageFps, double p95FrameTimeMs)Records a sampled performance snapshot; call at low frequency.
void ReportError(string errorCode, string context = "")Records an already-handled anonymous error; it is not a crash reporter.
void Flush()Schedules an asynchronous upload; it does not block until completion.