Skip to content

Command Reference

You can request VRTI to perform an action by sending it a command. Please see Sending a command for more information on how to send commands.

Some commands will return a response by emitting an event. You do not have to subscribe to these events to receive them as a response to commands you issue.

EventSubscribe

Subscribes the client to the events specified in the payload.

[ "TreadmillStateUpdated", "AutoWalkSettingsUpdated", "StatisticsUpdated" ]

See the Event Reference for a full list of available events you can subscribe to.

EventUnsubscribe

Unsubscribes the client from the events specified in the payload.

[ "AutoWalkSettingsUpdated", "StatisticsUpdated" ]

See the Event Reference for a full list of available events you can subscribe to.

GetTreadmillState

Requests the current state of the treadmill.

Sends TreadmillStateUpdated as a response.

SetTargetSpeed

Sets the target speed of the currently connected treadmill.

If the provided value is above 0, it will automatically be limited to the speed range of the connected treadmill, and the currently configured maximum speed. The treadmill start moving if the target speed is above 0.

If the provided value is 0 or below, the treadmill will be stopped.

2.5 // The target speed in km/h

Sends TreadmillStateUpdated as a response.

SetSpeedLimit

Sets the current user configured maximum speed limit.

The provided value will automatically be limited to the speed range of the connected treadmill.

If the new maximum speed is below the current target speed, the target speed adapt to the new maximum speed.

6.0 // The maximum speed in km/h

Sends TreadmillStateUpdated as a response.

GetAutoWalkSettings

Requests the current auto walk settings.

Sends AutoWalkSettingsUpdated as a response.

ToggleAutoWalk

Toggles the auto walk feature on or off.

Optionally, you can provide a payload to force the auto walk feature to be enabled or disabled. The feature will be toggled if no payload is provided.

true

Sends AutoWalkSettingsUpdated as a response.

SetAutoWalkSpeedMultiplier

Sets the auto walk speed multiplier. This multiplier is applied to the base speed calculated from the treadmill’s current speed and max speed.

The provided value will automatically be limited to the range of 0.0 to 2.0.

0.5 // The multiplier value, ranged 0.0 to 2.0

Sends AutoWalkSettingsUpdated as a response.

SetAutoWalkSpeedOffset

Sets a temporary offset that is added to the calculated auto walk speed. This is useful for temporarily speeding up or slowing down in-game movement without changing the auto walk multiplier, override, or treadmill speed (For example, to quickly catch up with other players).

The offset is additive and is applied after the speed calculation, so a value of 0.25 will increase the final speed by 0.25, while -0.25 will decrease it by 0.25.

The provided value will automatically be limited to the range of -1.0 to 1.0.

0.25 // Temporarily increase speed by 0.25

Sends AutoWalkSettingsUpdated as a response.

SetAutoWalkSpeedOverride

Sets a speed override for the auto walk feature. This is useful for always walking in-game at a fixed speed regardless of treadmill movement.

When set, this overrides the normal speed calculation based on treadmill speed and multiplier. Provide a value between 0.0 and 1.0 where 1.0 represents maximum walking speed, or null to disable the override and return to normal calculation.

Note that the auto walk speed offset (set via SetAutoWalkSpeedOffset) is still applied on top of the override speed if one is set.

0.5 // Override speed to 50% of maximum
// or
null // Disable speed override

Sends AutoWalkSettingsUpdated as a response.

ToggleYawLock

Toggles the yaw lock for the auto walk feature on or off.

Optionally, you can provide a payload to force the feature to be either enabled or disabled. The feature will be toggled if no payload is provided.

true

Sends AutoWalkSettingsUpdated as a response.

CenterYawLock

Resets the yaw lock to the current direction the user is facing.

This command is only available while the yaw lock feature is enabled, and the current rotation of the a VR headset is known.

SetInputMode

Sets the input mode used for sending movement commands to the game.

Available modes:

  • VRChatOSC: Sends movement input via OSC to VRChat
  • XInput: Emulates an Xbox controller for movement input
"VRChatOSC"
// or
"XInput"

Sends AutoWalkSettingsUpdated as a response.

GetStatistics

Requests the treadmill statistics for the current session.

Sends StatisticsUpdated as a response.

This command will only return statistics for the current session. For requesting historic statistics, please refer to the commands below.

ResetStatistics

Resets the treadmill statistics for the current session.

Sends StatisticsUpdated as a response.

This command does not affect historic statistics. Deleting your historic statistics can only be done via VRTI’s interface, using the “reset” button while viewing your historic statistics.

GetHistoricMonthlyStats

Requests historic monthly aggregated statistics within a specific date range.

Sessions are included based on their start time (inclusive start, exclusive end). The response contains monthly statistics (aggregated by YYYY-MM) for all sessions within the specified time range.

{
"startTime": 1704067200000, // Unix timestamp in milliseconds (2024-01-01 00:00:00)
"endTime": 1711929600000 // Unix timestamp in milliseconds (2024-04-01 00:00:00)
}

Sends HistoricMonthlyStatsResult as a response.

GetHistoricDailyStats

Requests historic daily aggregated statistics within a specific date range.

Sessions are included based on their start time (inclusive start, exclusive end). The response contains daily statistics (aggregated by YYYY-MM-DD) for all sessions within the specified time range.

{
"startTime": 1704067200000, // Unix timestamp in milliseconds (2024-01-01 00:00:00)
"endTime": 1704412800000 // Unix timestamp in milliseconds (2024-01-05 00:00:00)
}

Sends HistoricDailyStatsResult as a response.

GetHistoricSessions

Requests all historic sessions within a specific date range.

Sessions are included based on their start time (inclusive start, exclusive end). The response contains all session details sorted by start time in ascending order.

{
"startTime": 1704067200000, // Unix timestamp in milliseconds (2024-01-01 00:00:00)
"endTime": 1735689600000 // Unix timestamp in milliseconds (2025-01-01 00:00:00)
}

Sends HistoricSessionsResult as a response.