HomeGuidesLearn about the Immerse SDK installerLog In

Sending Statements


This feature requires Immerse SDK Enterprise Edition and a Platform 3.0 Developer Account

This is different to the free Immerse SDK / standard developer account. Contact [email protected] if you require access.

Understand the difference between the Free and Enterprise SDK

Once you have created a Report Hierarchy, sending statements is simple as activities are implemented as ScriptableObjects that can be referenced in an Action Reporter, Completion Reporter or your own custom scripts.


Sending statements to the Immerse platform requires Platform Services package v1.7.1 or newer.


Once an activity is completed, a completion statement should be sent. For a more component based approach, see the Completion Reporter page.

void Complete(bool success)Sends a completion statement for the activity with the provided success value.
void Complete(Result result)Sends a completion statement for the activity with the provided result object.


A result object can be attached to a completion statement, this is used to describe how well a user did during the activity.
Each of the fields listed below are optional values that can be attached to the result object, any configuration can be used, as per the xAPI specification.
The Result struct can also be serialized to show it as a configurable object on a component in the inspector.

CompletionIf the event was completed
SuccessIf the event was successful
DurationHow long the event took
ScoreScore data for the event
ResponseResponse/comment for the event


A score can be attached to a Result. This object follows the xAPI standard which provides a lot of flexibility in the data you record. Again, all fields are optional.

ScaledScaled score (0 - 1)
RawRaw value for the score
MinMinimum score (relates to raw value)
MaxMaximum score (relates to raw value)


Actions can be attached to any activity in your session. These are intended to capture any additional, smaller actions that the user takes during the session that do not require completion tracking and therefore require less information.

void ReportAction(IVerb verb, string subject)Reports an action against the activity with the provided verb
void ReportAction(IVerb verb, string subject, string response)Reports an action against the activity with the provided verb and includes a response string.

Below is a very basic MonoBehaviour example that will report an action against the attached Activity with the the Attached verb, using the game object's name as the subject string.

using ImmerseSDK.Reporting.Structure;
using ImmerseSDK.Reporting.Structure.Verbs;
using UnityEngine;

public class ActionExample : MonoBehaviour
    public Activity Activity;
    public VerbObject Verb;
    private void Start()
        Activity.ReportAction(Verb, gameObject.name);