Creating an experience

“Experiences” are the core of how Strivr can aggregate and track metrics across a training session. All projects must have at least one experience implemented (see below - created, started, and ended). If your APK is designed to be a single training module completed in one sitting, then you should start and end the experience at the beginning and end of the application lifecycle.

If your application contains multiple pieces of training content that can be separated into individual sessions, then feel free to create multiple experiences and start and end them appropriately.

  1. All projects must have at least one experience created and must call StrivrAnalytics.StartExperience(experience); and StrivrAnalytics.FinishExperience(); as specified below.

  2. Once you upload an application with experience(s) defined and implemented, do NOT change it in future updates by adding or removing experiences. This can break data tracking on the Strivr Platform.

You can also choose to score these experiences (users will be awarded points for scored questions and these points can be reviewed in the Strivr Portal).


Create an experience by right clicking anywhere in your Unity project folder and selecting Create > Strivr > Experience. Alternatively, you can access the same menu via Assets in the Unity top menu.

exp track create exp

This will create an "experience" scriptable object, which can be renamed and moved as needed. These files contain properties that describe a particular experience. All experiences have a name and description, which can be modified. Experiences also have a unique identifier, which should not be changed.

strivr exp data

Starting and Finishing an Experience

Once you have created your experience file, you can reference it in your scripts via serialized fields.

[SerializedField] private StrivrExperienceData experience;

You can start your experience by passing it to the Strivr API:.


All events, including gaze tracking events, object tracking events, and custom events, that get tracked after an experience has been started will be tied to that particular experience.

To finish your experience, call:


Events will no longer be tied to the experience after it has been finished, until the next call to “StartExperience”.

To properly track experience completion, it is important that "StartExperience" and "FinishExperience" are called in order. If an experience is finished before one has been started, the Strivr SDK will throw an exception.

See the Experience Analytics example scene on the Example Scenes page.


The Strivr SDK also supports scoreable elements within experiences. You can use the Strivr API to keep track of how many points the user scored for some scorable portion, in addition to how many possible points they could have scored.

For example, let’s say that within an experience, the user interacts with an element that is worth 10 points, but only manages to get 7 out of 10 points. This can be tracked with:

StrivrAnalytics.TrackScore(7, 10);

When an experience is finished, the total points scored and max possible points scored throughout the duration of that experience will be tracked.

"TrackScore" should only be called when an experience has been started and is active. If an experience is not active when "TrackScore" is called, the Strivr SDK will throw an exception.

See the Experience Scoring Analytics example scene on the Example Scenes page.