Event Reference
You can subscribe to events emitted by VRTI. Please see Subscribing to events for more information on how to subscribe to events.
Some events will be emitted in response to commands you issue. You do not have to subscribe to these events to receive them as a responses. Which commands will send response events is documented in the Command Reference.
TreadmillStateUpdated
Emitted when the treadmill state changes.
{ "connected": boolean, // Whether a treadmill is currently connected "running": boolean, // If the treadmill's belt is currently running "currentSpeed": number, // The treadmill's current speed in km/h "targetSpeed": number, // The set target speed in km/h "userSpeedLimit": number, // The user configured maximum speed limit in km/h "stepsSupported": boolean, // Whether the treadmill supports step counting "distanceSupported": boolean, // Whether the treadmill supports distance tracking "deviceSpeedRange": { "min": number, // The minimum speed of the treadmill in km/h "max": number, // The maximum speed of the treadmill in km/h "step": number // The minimum increment of the treadmill speed in km/h }}AutoWalkSettingsUpdated
Emitted when the auto walk settings change.
{ "enabled": boolean, // Whether the auto walk feature is enabled "speedMultiplier": number, // The current speed multiplier of the auto walk feature "inputMode": 'VRChatOSC' | 'XInput', // The mode of input used by the auto walk feature "yawLock": boolean, // Whether the yaw lock is active "speedOverride": number | null, // Speed override value (0.0-1.0), or null if disabled "speedOffset": number // Temporary speed offset (-1.0 to 1.0)}AutoWalkSpeedUpdated
Emitted when the auto walk speed sent to the game changes.
{ "speed": number // The final calculated auto walk speed (0.0-1.0) being sent to the game}YawLockCentered
Emitted when the yaw lock is centered.
StatisticsUpdated
Emitted when the currently tracked statistics for the active session change.
{ "steps": number, // The number of steps taken in the current session "distance": number, // The distance covered in kilometers in the current session "time": number // The active walking time in seconds in the current session}HistoricMonthlyStatsResult
Emitted in response to the GetHistoricMonthlyStats command.
Contains monthly aggregated statistics for the requested date range.
{ "stats": [ { "month": string, // Month in YYYY-MM format (e.g., "2024-01") "activeTimeMs": number, // Total active walking time for the month in milliseconds "steps": number, // Total steps taken in the month "distance": number // Total distance walked in the month in meters } ]}HistoricDailyStatsResult
Emitted in response to the GetHistoricDailyStats command.
Contains daily aggregated statistics for the requested date range.
{ "stats": [ { "date": string, // Date in YYYY-MM-DD format (e.g., "2024-01-15") "activeTimeMs": number, // Total active walking time for the day in milliseconds "steps": number, // Total steps taken on the day "distance": number // Total distance walked on the day in meters } ]}HistoricSessionsResult
Emitted in response to the GetHistoricSessions command.
Contains all historic sessions for the requested date range, sorted by start time.
{ "sessions": [ { "id": string, // Unique session identifier (UUID) "date": string, // Session start date in local timezone (YYYY-MM-DD format) "startTime": number, // Session start timestamp (Unix milliseconds) "endTime": number, // Session end timestamp (Unix milliseconds) "activeTimeMs": number, // Total active walking time in milliseconds "distance": number, // Total distance walked in meters "steps": number // Total steps taken } ]}