corvengine sdk manual
Production-grade PC game telemetry, player behavioral analytics, and publishing intelligence for Steam & Epic Games Store. Dual-engine native parity for Unity and Unreal Engine.
Configure App ID, Gateway URLs, and batch settings directly in Unity Editor via CorvEngine ➔ SDK Settings. Zero code required for bootstrapper setup.
Thread-safe in-memory queue backed by persistent JSONL disk cache. 100% telemetry preservation during network disconnects and background reconnection.
Automatic identification for macOS (mac_...), Windows (win_...), Linux, Steam Deck, Proton, GPU, RAM, and display refresh rates.
Download Unity Package
Includes Editor Settings Panel, runtime subsystem, and native Steamworks & macOS detection.
Adding CorvEngine to your Unity Project
Copy the CorvEngine folder into your project's Assets/ directory:
Compatible with Unity 2021.3 LTS, 2022.3 LTS, and Unity 6+ across Built-in, URP, and HDRP render pipelines.
Configuring Your Game in Unity Editor
You never need to hardcode game keys or URLs in C# scripts. Open the built-in configuration window:
In Unity top menu bar:
CorvEngine ➔ SDK Settings (or Window ➔ CorvEngine ➔ Settings)
Essential Fields:
- Game / App ID: Your unique registered game ID from CorvEngine Platform (e.g.
game_void_runners,game_shadow_craft). - Gateway Server URL: Defaults to
https://www.teamcorvus.com(proxied to Google Cloud Run & BigQuery). - Studio Write Key: Optional authentication write token for verified title streaming.
Runtime Automation:
- Auto Initialize on Start: Checked by default. CorvEngine boots before the first scene loads using
RuntimeInitializeOnLoadMethod. - Auto Detect Platform: Identifies macOS, Windows, Linux, Steam Deck, and Proton runtime.
- Test Connection Button: Click "📡 Test Connection" to perform a live handshake with the ingestion server.
Core In-Game Telemetry Calls
All tracking calls are asynchronous, non-blocking, and thread-safe. App ID and platform metadata are attached automatically:
using System.Collections.Generic;
using UnityEngine;
using CorvEngine.SDK;
public class LevelManager : MonoBehaviour
{
void Start()
{
// 1. Start a Level / Zone / Quest
CorvEngine.StartLevel("Sunny Meadow 01", new Dictionary<string, object>
{
{ "difficulty", "cozy" },
{ "target_items", 15 }
});
}
public void OnPlayerCollectedDebris(string itemId, int count)
{
// 2. Track Cozy Cleanup / Collectible Progress
CorvEngine.LogItemCollected(itemId, count, "debris");
}
public void OnPlayerStuck(string checkpointId)
{
// 3. Track Friction / Bottleneck Point
CorvEngine.TrackFrictionPoint(
"Sunny Meadow 01",
checkpointId,
FrictionReason.PuzzleTimeout,
timeSpentSeconds: 120f,
attemptCount: 3,
playerPosition: transform.position,
details: "Player could not locate valve"
);
}
public void OnLevelFinished(float cleanScore)
{
// 4. Complete Level with score and duration
CorvEngine.LogLevelCompleted("Sunny Meadow 01", cleanScore, hintsUsed: 0, durationSeconds: 48);
// 5. Optional: Immediate buffer flush before scene transition
CorvEngine.Flush();
}
}Zero-Config Crash Logging
CorvEngine automatically subscribes to Application.logMessageReceived. Uncaught fatal exceptions, NullPointerExceptions, out-of-memory errors, and native stack traces are captured with full GPU, OS, and memory metrics, streaming directly to BigQuery's crashes_raw table.
How Data Streams into BigQuery & Looker
Every telemetry event dispatched from Unity or Unreal follows an asynchronous serverless pipeline with zero local maintenance costs ($0 when idle):
Unity or Unreal SDK enqueues events into a thread-safe buffer and flushes micro-batches every 25s.
teamcorvus.com/api/v1/telemetry/events proxies requests securely with DDoS shielding.
Stateless microservice streams events directly into BigQuery dataset corvengine_analytics.
Live SQL views (view_retention_matrix, view_cleanup_collectibles) power interactive BI dashboards.