3. Telemetry Collection
Controlling high-resolution behavioral tracking.
Starting and Stopping Capture
While the Nx10 SDK requires zero manual instrumentation of your UI or input systems, telemetry collection does not start automatically when you initialize a session.
This is by design. It gives you absolute control over when the LFM receives data. While we strongly recommend capturing telemetry throughout the entire app experience (menus are often a massive source of undetected frustration), you may wish to disable tracking during highly sensitive password inputs or specific cutscenes.
Zero Instrumentation
Once you call StartTelemetry(), the SDK automatically hooks into Unity's native input systems. You do not need to wrap your buttons, rewrite your raycasters, or manually push events. It all happens silently in the background.
The API Surface
Simply call these methods anywhere in your game loop after the session has successfully started.
using NX10;
using UnityEngine;
public class GameplayManager : MonoBehaviour
{
public void OnEnterMainGameLoop()
{
// Begin capturing touches, gyro, and accelerometer
NX10Manager.Instance.StartTelemetry();
Debug.Log("Nx10 Telemetry Active");
}
public void OnEnterSecurePasswordScreen()
{
// Pause all kinematic capture instantly
NX10Manager.Instance.StopTelemetry();
Debug.Log("Nx10 Telemetry Paused");
}
}What does the SDK capture?
When telemetry is active, the SDK seamlessly collects:
- General Touch Events: Down, Move, Up events with highly accurate X/Y coordinates, pressure, and velocity.
- Keyboard Touch Events: Specific touches associated with on-screen keyboard interactions (if applicable).
- Gyroscope Readings: Rotational velocity of the device.
- Accelerometer Readings: Linear acceleration of the device.
Network & Performance Optimization
High-resolution telemetry generates a massive amount of data. Sending standard JSON objects for every touch frame would instantly overload mobile networks and battery life.
The Nx10 SDK solves this by encoding events into highly compressed, fixed-order Tuples. Furthermore, rather than stamping every event with a heavy ISO-8601 string, the SDK generates a single base UTC timestamp for a "capture window" and records all events simply as millisecond offsets from that base time. This allows the LFM to receive granular 120hz data with a virtually undetectable network footprint.
