SetTelemetryEnabled
#void SetTelemetryEnabled(bool bEnabled)Applies player opt-in or opt-out immediately.
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.6.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. |
| CapturePlatformAccountId | bool | Sends only a project-scoped pseudonym, never the raw platform ID. |
API
void SetTelemetryEnabled(bool bEnabled)Applies player opt-in or opt-out immediately.
bool IsTelemetryEnabled() constWhether the configured subsystem currently accepts events.
void SetReleaseContext(const FString& InChannel, const FString& InBuildId)Overrides channel and Build ID before the session starts.
FString GetSessionId() constReturns the anonymous active application-session ID.
bool HasActiveRun() constWhether collection is enabled and a run is active.
API
FString StartRun(const FString& Mode = TEXT("default"))Starts a simple gameplay attempt.
FString StartRunWithCategory(const FString& Category, const FString& Mode, int32 PlayerCount, int32 TeammateCount, bool bMatchmakingAttempted, bool bMatchmakingSucceeded)Starts a run with game-defined category and population context.
void EndRun(const FString& Outcome, float Score = 0.0f)Ends the active run with outcome, score, duration and maximum depth.
void SetProgress(float DepthMeters, const FString& Stage = TEXT(""))Updates exact progress/depth and optional stage.
void UpdateRunPopulation(int32 PlayerCount, int32 TeammateCount)Records changed run population.
void TrackProgression(const FString& Progression, const FString& Status, float Value = 0.0f)Records a stable progression lifecycle step.
API
void TrackMatchmakingAttemptWithCategory(const FString& Category, const FString& Mode, int32 PartySize)Records an accepted queue attempt with a game-defined category.
void TrackMatchmakingResultWithCategory(const FString& Category, const FString& Mode, bool bSucceeded, const FString& Result, int32 PartySize, int32 TeammateCount, float DurationSeconds)Records a terminal matchmaking result.
void TrackCategorizedInteraction(const FString& Action, const FString& Surface, const FString& Target, const FString& Category = TEXT(""), const FString& Mode = TEXT(""))Records a low-cardinality accepted UI action.
API
void TrackResourceTransaction(Direction, Currency, Amount, Reason, ItemCategory, ItemId, BalanceAfter)Records a resource source or sink.
void TrackUpgrade(UpgradeId, UpgradeCategory, LevelBefore, LevelAfter, Result, CostCurrency, CostAmount)Records upgrade outcomes and cost.
void TrackChestOpened(ChestType, Tier, Source, Result, RewardItemCount, RewardCurrency, RewardAmount)Records a chest-open outcome and bounded reward summary.
void TrackQuest(QuestId, QuestCategory, Status, ProgressValue)Records quest lifecycle state.
void TrackDamageDealt(float Damage, bool bCritical = false, bool bHit = true); void TrackDamageTaken(float Damage)Adds values to the in-memory combat summary without I/O.
void TrackEnemyKilled(bool bElite = false, bool bBoss = false)Adds one confirmed kill to the combat summary.
void TrackPlayerDeath(const FString& Cause, const FString& EnemyCategory = TEXT(""))Records a death and flushes the pending combat summary.
void TrackBankruptcy(const FString& Reason, const FString& Currency, float BalanceBefore = 0.0f)Records a player-facing bankruptcy state.
API
void TrackCustomEvent(Name, StringProperties, NumberProperties, BooleanProperties)Records a typed custom event with bounded properties.
void TrackPerformanceSnapshot(float AverageFps, float P95FrameTimeMs)Records a low-frequency performance snapshot.
void TrackNetworkQuality(AveragePingMs, MinPingMs, MaxPingMs, SampleCount, JitterMs, InPacketLoss, OutPacketLoss, InKbps, OutKbps, NetworkMode)Records a low-frequency network-quality window; loss is 0..1.
void ReportError(const FString& ErrorCode, const FString& Context = TEXT(""))Records an already-handled anonymous error.
void Flush()Schedules asynchronous upload; failed batches remain queued.