API Reference

All types are in the Aruvr.Sdk namespace.

AruvrTracker (singleton)

The persistent tracking hub. Created on first access to Instance and kept across scene loads.

static AruvrTracker Instance { get; }
bool IsReady { get; }   // true once a learner is identified AND an app is active for the scene

void Identify(string learnerId, string learnerName = null);
void Track(string dpGuid, AruvrDpDescription description);   // emit a "scored" statement
void Experienced(string dpGuid);                             // emit an "experienced" statement (Arm)
void SetCompletion(string completion, int score = -1);       // "completed" | "passed" | "failed"
void Flush();                                                // force an immediate send
void ActivateApp(string sceneName);                          // usually called by AruvrImpactManager

Notes:

AruvrTrackImpact (component)

Add Component → ARUVR → Track Impact.

string label;
int competencyId;
AruvrPolarity polarity;   // Positive | Negative | Neutral
string DpGuid { get; }

void Arm();    // decision available — starts the latency clock
void Fire();   // decision made

AruvrAssignScore (component)

Add Component → ARUVR → Assign Score.

string label;
int points;               // positive rewards; zero or negative penalises
int competencyId;
string DpGuid { get; }

void Arm();
void Fire();               // assigns `points`
void Fire(int amount);     // assigns an explicit amount

AruvrImpactManager (component)

Add Component → ARUVR → Impact Manager. No public members. Add it to a scene to opt that scene into tracking; on Awake it activates the app mapped to its scene.

AruvrIdentificationPanel (component)

Add Component → ARUVR → Identification Panel. UI-agnostic identity controller.

UnityEvent onIdentified;                        // fires after a successful Submit

void Submit(string learnerId, string learnerName = null);
void SubmitId(string learnerId);                // single-field convenience

AruvrPolarity (enum)

enum AruvrPolarity { Positive, Negative, Neutral }

AruvrDpDescription (data)

The payload passed to AruvrTracker.Track. Populated for you by the components.

class AruvrDpDescription
{
    string kind;          // "track_impact" | "assign_score"
    string label;         // shown in the dashboard
    int competency_id;    // 0 = no competency (default applies)
    string polarity;      // "positive" | "negative" | "neutral"
    string name;          // numeric points as a string, for assign_score
}

AruvrManifest (data)

The runtime configuration model, loaded from StreamingAssets/aruvr_manifest.json. You do not normally construct or read this directly — the tracker uses it internally. See Manifest and Wire Protocol for the JSON shape.