Insights Quickstart
Get Insights events flowing from your app in minutes. Choose your development environment below.
1) Install
- Unity
- Unreal Engine
- WebXR
- Add the AbxrLib Unity package (via UPM or local package).
- Ensure your Android/Gradle toolchain is compatible.
Unreal Engine SDK is currently in early beta. Expect issues and feedback is welcome.
- Download the plugin from the GitHub repository.
- Copy the plugin folder to your project's
Pluginsdirectory. - Open your Unreal project and go to
Edit > Plugins. - Find
ABXRLib SDKand enable it. - Once imported, you will see
ABXRLib SDKconfiguration options in your Project Settings.
npm i @arborxr/abxrlib-webxr
# or
yarn add @arborxr/abxrlib-webxr
2) Required Configuration
- Unity
- Unreal Engine
- WebXR
- Open
Analytics for XR > Configurationin the Unity Editor. - Configure your credentials:
- For Development/Testing: Paste in the
App ID,Org ID, andAuth Secret. All 3 are required if you are testing from Unity itself. - For Production Builds: Only include the
App ID, and leave Org ID and Auth Secret empty.
- For Development/Testing: Paste in the
Unreal Engine SDK is currently in early beta. Expect issues and feedback is welcome.
- Open
Edit > Project Settings > Plugins > ABXR Configurationin the Unreal Editor. - Configure your credentials:
- For Development/Testing: Paste in the
App ID,Org ID, andAuth Secret. All 3 are required if you are testing from Unreal itself. - For Production Builds: Only include the
App ID. Leave Org ID and Auth Secret empty for third-party distribution.
- For Development/Testing: Paste in the
- App ID: Typically loaded from config/env at build time
- Base URL: Use sandbox for development, production when ready
- Org identifiers / auth: see /docs/insights/arborxr-insights-api/ for tokens & scopes
The Org ID and Auth Secret should only be compiled into builds when creating custom applications for specific individual clients. For general distribution, use ArborXR-managed devices or implement runtime credential provisioning.
3) Initialize
- Unity
- Unreal Engine
- WebXR
In Unity the Abxr object will automatically be available. Skip to the next section.
In Unreal the Abxr object will automatically be available. Skip to the next section.
import { Abxr } from '@arborxr/abxrlib-webxr';
// Typically loaded from config/env at build time
const APP_ID = 'your-app-id';
const BASE_URL = 'https://api.sandbox.arborxr.example'; // switch to prod when ready
Abxr.init({
appId: APP_ID,
baseUrl: BASE_URL, // optional if your SDK defaults are set
// Optional: identify user/session if available
identify: { userId: 'emp_1024', cohort: 'pilot' },
});
4) Essential Event Tracking (Required)
Assessment events are required to activate grading dashboards and LMS integration. Send these events to track training completion, scores, and pass/fail status.
- Unity
- Unreal Engine
- WebXR
// When training starts
Abxr.EventAssessmentStart("safety_training");
// When training completes
Abxr.EventAssessmentComplete("safety_training", 92, EventStatus.Pass);
// or
Abxr.EventAssessmentComplete("safety_training", 25, EventStatus.Fail);
Assessment Complete:
Score(second parameter) takes a 0-100 value- The
EventStatusenum hasPass,Fail,Complete,Incomplete,Browsed,NotAttemptedoptions
Unreal Engine SDK is currently in early beta. Expect issues and feedback is welcome.
// When training starts
UAbxr::EventAssessmentStart(TEXT("safety_training"));
// When training completes
UAbxr::EventAssessmentComplete(TEXT("safety_training"), 92, EEventStatus::Pass);
// or
UAbxr::EventAssessmentComplete(TEXT("safety_training"), 25, EEventStatus::Fail);
Assessment Complete:
Score(second parameter) takes a 0-100 value- The
EEventStatusenum hasPass,Fail,Complete,Incomplete,Browsed,NotAttemptedoptions
// When training starts
Abxr.eventAssessmentStart('safety_training');
// When training completes
Abxr.eventAssessmentComplete('safety_training', 92, 'Pass');
// or
Abxr.eventAssessmentComplete('safety_training', 25, 'Fail');
Assessment Complete:
Score(second parameter) takes a 0-100 valueEventStatus(third parameter). TheEventStatusacceptsPass,Fail,Complete,Incomplete,Browsed,NotAttemptedvalues
5) Improving your Dashboards & Charts (Recommended)
The Insights dashboards and charts will be key to improving your content and helping your customer measure training efficacy. See here for more recommendations on powering the assessments dashboard.
Assessment Tracking Examples
Unity (C#) - Click to collapse
// Add at the start your training (or training module)
Abxr.EventAssessmentStart("safety_training1");
// Add at the end your training (or training module)
Abxr.EventAssessmentComplete("safety_training1", 92, EventStatus.Pass);
// or
Abxr.EventAssessmentComplete("safety_training1", 28, EventStatus.Fail);
Unreal Engine (C++) - Click to expand
// Add at the start your training (or training module)
UAbxr::EventAssessmentStart(TEXT("safety_training1"));
// Add at the end your training (or training module)
UAbxr::EventAssessmentComplete(TEXT("safety_training1"), 92, EEventStatus::Pass);
// or
UAbxr::EventAssessmentComplete(TEXT("safety_training1"), 28, EEventStatus::Fail);
WebXR (JavaScript/TypeScript) - Click to expand
// Add at the start your training (or training module)
Abxr.EventAssessmentStart('safety_training1');
// Add at the end your training (or training module)
Abxr.EventAssessmentComplete('safety_training1', 92, Abxr.EventStatus.Pass);
// or
Abxr.EventAssessmentComplete('safety_training1', 28, Abxr.EventStatus.Fail);
When need to show specific example:
- Unity
- Unreal Engine
- WebXR
// To mark a specific objective start
Abxr.EventObjectiveStart("open_valve");
// When the objective is complete
Abxr.EventObjectiveComplete("open_valve", 100, EventStatus.Complete);
// To mark a specific objective start
UAbxr::EventObjectiveStart(TEXT("open_valve"));
// When the objective is complete
UAbxr::EventObjectiveComplete(TEXT("open_valve"), 92, EEventStatus::Complete);
// To mark a specific objective start
Abxr.EventObjectiveStart("open_valve");
// When the objective is complete
Abxr.EventObjectiveComplete("open_valve", 100, 'Complete');
See the Events documentation for Objectives, Interactions, and advanced tracking options.
FAQs & Recommendations
- Security: The
Org IDandAuth Secretshould only be compiled into builds when creating custom applications for specific individual clients. For general distribution, use ArborXR-managed devices or implement runtime credential provisioning. - Environments: Configure different App IDs for development vs production
- Unity
- Unreal Engine
- WebXR
- CORS: If you call protected APIs from the browser, use a backend proxy or configure allowed origins
- PII: Avoid sending personally identifiable information in event metadata; prefer stable, non-identifying IDs
- Environments: Start in sandbox; flip
BASE_URLto production when ready
Next Steps
- Events - Learn about Assessment, Objective, and Interaction events
- SDK Libraries - Explore available SDKs for Unity, WebXR, and Unreal
- LMS Integration - Connect to learning management systems
- Best Practices - Tips for effective analytics implementation