Getting Started

This page walks you from an imported SDK to a scene that reports a decision to IMPACT.

Requirements

1. Install

Import the .unitypackage (Assets → Import Package → Custom Package). The SDK installs under Assets/AruvrSdk/ with two assemblies (Aruvr.Sdk runtime, Aruvr.Sdk.Editor). No other setup is required.

2. Connect

Open ARuVR → Impact from the menu bar. Leave the Environment on Production, paste your API key, and press Connect. The key is saved per machine and the window auto-connects next time.

3. Link the open scene to a program

With your gameplay scene open, in the Connection tab:

  1. Choose the IMPACT Program this scene reports to.
  2. Choose an existing App, or select “Register new app” and give it a name.
  3. Press Link this scene’s app + bake manifest.

This writes Assets/StreamingAssets/aruvr_manifest.json, which carries the app’s write-only tracking token.

4. Opt the scene into tracking

Add an AruvrImpactManager component to any GameObject in the scene (Add Component → ARUVR → Impact Manager). A scene is tracked only if it has this component.

5. Add a decision point

Add an AruvrTrackImpact component (Add Component → ARUVR → Track Impact):

6. Fire it from your gameplay

using UnityEngine;
using Aruvr.Sdk;

public class Valve : MonoBehaviour
{
    public AruvrTrackImpact closedCorrectly;  // positive-polarity tracker
    public AruvrTrackImpact closedWrongOrder; // negative-polarity tracker

    // Call when the decision first becomes possible — this starts the latency clock.
    void OnValveReachable()
    {
        closedCorrectly.Arm();
        closedWrongOrder.Arm();
    }

    // Call when the trainee acts.
    void OnValveClosed(bool correctSequence)
    {
        if (correctSequence) closedCorrectly.Fire();
        else                 closedWrongOrder.Fire();
    }
}

You can also wire Arm() and Fire() to UnityEvents in the inspector — no code required.

7. Identify the trainee and report the outcome

// At the start of the session, before any decision fires:
AruvrTracker.Instance.Identify("SESSION-4821");

// At the end of the scenario:
AruvrTracker.Instance.SetCompletion("passed", 100);   // "completed" | "passed" | "failed", score 0–100

8. Build

Make sure the scene is in Build Settings, then build for your target (e.g. Android for Quest). The manifest is baked into the build and the app reports to IMPACT on device.

Checklist

Next: Core Concepts to understand the terminology, or Tracking Decisions for the full component detail.