Skip to content

Sensors

Using biometric sensors, you can get a detailed snapshot of the Participant's physical state. While we don't support specific sensors, we provide a simple API to record sensor data and display this data on SceneExplorer.

If there is sensor data available for a SceneExplorer session, it can be accessed by the sensors tab on the navigation bar.

Graph Display

Code Reference

Recording Sensor Data

Sensors record float values. Please get in touch if you require other data types.

sensor blueprint

void APlayerController::PlayerTick(float DeltaTime)
{
 //...

 TSharedPtr<FAnalyticsProviderCognitive3D> provider;
 provider = FAnalyticsCognitive3D::Get().GetCognitive3DProvider();

 float oxygen = FMath::FRandRange(75.0, 100.0);
 provider->sensors->RecordSensor("Heart.Blood Oxygen", oxygen);

 float heartrate = FMath::FRandRange(60.0, 100.0);
 provider->sensors->RecordSensor("Heart.EKG", heartrate);
}

Sensor Frequency Limits

Sensor data is automatically limited to 10hz. This is to enable viewing spatial sensor data on SceneViewer. Data recorded faster than this frequency will be discarded.

If you need to record sensor data at a faster frequency, you can manually indicate the frequency before recording data with RecordSensor. This high frequency data will not be visible on SceneViewer.

sensor init blueprint

void APlayerController::BeginPlay()
{
 //...

 TSharedPtr<FAnalyticsProviderCognitive3D> provider;
 provider = FAnalyticsCognitive3D::Get().GetCognitive3DProvider();

 provider->sensors->InitializeSensor("Heart.My 100hz Sensor", 100, initialValue);
}

Sensors Namespaces

Notice the period in the middle of the Sensor names above. This is an optional feature to group related sensor data. In SceneExplorer, the Sensor selector will appear like this:

Namespacing Sensors

intercom If you have a question or any feedback about our documentation please use the Intercom button (purple circle) in the lower right corner of any web page.