Skip to main content
Version: 3.5.x

Migrating to 3.5

This page is the consolidated upgrade guide for Inverse Service 3.5. It covers every deprecation the service still carries — the legacy 3.0 wire format slated for removal in 4.0, the deprecated HTTP endpoints, and the deprecated session-channel simulation commands.

All deprecations listed here are still accepted on the wire for backward compatibility. Nothing breaks on upgrade — plan to migrate at your convenience.


3.0 vs 3.x API versions

The service exposes two concurrent JSON formats: the legacy 3.0 format on port 10000 and the current 3.x format on port 10001. Both stay available for backward compatibility — 3.0 integrations continue to run unchanged on upgrade.

warning

3.0 API version support will be dropped for 4.0.

  • 3.0 API

  • 3.x API

    • Fully documented in the 3.x documentation pages.
    • HTTP on http://localhost:10001/.
    • Websockets on port 10001.
    • Improved functionality and faster integration with game engines.

Upgrade at your convenience — no disruption to existing workflows.


Deprecated HTTP endpoints

The following endpoints are still accepted but emit a deprecation warning. They will be removed in 4.0. Use the replacement routes instead.

Deprecated pathReplacement
POST /force_scalePOST /settings/devices/force_scale
POST /gravity_compensationPOST /{type}/{id}/config/gravity_compensation
POST /torque_scalingPOST /{type}/{id}/config/torque_scaling
POST /device_handednessPOST /{type}/{id}/config/handedness
POST /serial_enablePOST /settings/system/serial_enable
POST /experimental/features/grip_dropped_simulation_stopperPOST /settings/features/grip_hook/enabled
POST /experimental/features/screensaver_enablePOST /settings/features/screensaver/enabled

Each deprecated route triggers a http-route-deprecated event on the events channel, carrying both the old route and its replacement.


Deprecated session-channel commands

The two session-level simulation commands below are deprecated and will be removed in a future major version. They are still accepted on the wire; new integrations should use the configure entries listed in the replacement column.

Each deprecated command triggers a command-deprecated event on the events channel.

session.set_coordinate_origininverse3[*].configure.preset

// Old — deprecated
{ "session": { "set_coordinate_origin": { "coordinate_origin": "workspace_center" } } }

// New — canonical
{ "inverse3": [ { "device_id": "…", "configure": { "preset": { "preset": "arm_front_centered" } } } ] }

Value mapping:

Old coordinate_originNew preset
device_basearm_front (or defaults)
workspace_centerarm_front_centered

Presets are applied per-device via inverse3[*].configure.preset (or configure.preset on verse grip / wireless verse grip device entries), not as a session-wide switch. See the Configure section in the simulation reference for the full list of preset names.

session.set_basissession.configure.basis

// Old — deprecated
{ "session": { "set_basis": { "basis": { "permutation": "X-ZY" } } } }

// New — canonical
{ "session": { "configure": { "basis": { "permutation": "XZ-Y" } } } }
Axis-sign convention changed

Reference