SensaHelp

Choose a setup for your task

简体中文 | English

Start with the job: quick browser control, application routing, recording or Avatar interaction. Choose the matching source and output, then add computation for blending, smoothing or geometry. The table below links each workflow to its setup.

Goal Suggested flow Setup
Control immediately in a browser Manual/script → browser outputs WebSensa
Route a website/player into another device Buttplug/TCode/JSON input → output Shared protocol routes
Check a device or application's response Manual slider → destination First run
Play an existing trajectory Funscript → device or application Manual and script
Combine readings, smoothing or thresholds Several inputs → computed signal → output Calculation examples
Control a device and an Avatar effect together One result → device and OSC parameter Multiple outputs
Connect DG-LAB, MIDI or a network service Signal → matching output Output setup
Save an interaction for playback/editing Selected source → Funscript recording Recording and replay

Apply Combined in Control when using several source kinds. Save the whole plan to retain calculations, mappings, axis profiles and outputs.

VRChat parameters and tracking

Start with what the Avatar already provides. Existing OGB/SPS parameters connect directly; when authoring your Avatar, you can add root measurement components.

Your situation Choose Measurement
Avatar already provides OGB/SPS haptics parameters Existing OGB/SPS Proximity, touch and depth-related readings
You want SPS Socket/Plug root position SPS four-anchor tracking Three-dimensional position relative to the Avatar
Supported advanced Proximity SDK, with position and velocity needed Contact direct tracking (SDK Beta) Metre-based position and relative velocity
A PC view can show a code block, with axes and scale needed Shader capture Root position, X/Z axes and AvatarScale
You want measurements relative to a bone’s current direction on your Avatar Following plane Depth, offset and distance from a reference plane
You want depth and angles during paired interaction between Avatars Three-marker pose Entry proportion, opening offset and pose angles in the receiving Socket’s local frame

Use the interactive parameter explorer to understand parameters and valid regions first. For spatial input, inspect and calibrate before allowing experimental spatial input and activating input. Check actual client/graphics behavior with the versions used.

Existing OGB / SPS

  1. Apply OSC or Combined in Control, then check reception, source and actual parameters in OSC.
  2. If the Avatar requires OGB_ENABLED, enable its heartbeat in receiver settings and enter VRChat's receive port, commonly 9000. Sensa commonly receives parameters on 9001.
  3. Choose the OGB/SPS depth or vibration preset, fix the object/source, calibrate range and direction, save and enable input.

SPS2 · PenOthersNewRoot / PenOthersNewTip provides two proximity readings for the same Plug. Sensa pairs them, learns length and derives a depth trend. Move the target to provide the samples needed for learning, then inspect the result.

In SPS1 · PenOthers / PenOthersClose, PenOthers describes a depth trend and PenOthersClose reports entry into the Socket's effective nearby region. Touch describes touch intensity; Plug Frot describes close or brushing contact.

Alignment, sideways movement, tilt and authored dimensions affect proximity, so calibrate the actual movement endpoints. See parameter meanings, presets and OGB compatibility for pairing and validity conditions.

Contact direct tracking (SDK Beta)

Choose this when authoring an Avatar that needs root position and movement strength. Install SDK 3.10.6-beta.3; Beta.2 is also supported. Select this route in Automatic SPS Setup or add SensaContactRootProbe.

  1. Select an own SPS, Sensa or native Contact root and build the Avatar.
  2. Fix the object/source in the root panel and inspect valid position and velocity.
  3. Choose X/Y/Z/Distance for position, or VelocityX/Y/Z, Speed or ProximitySpeed for movement strength. Capture endpoints, inspect the preview, save and enable spatial input and current input.

Position uses metres and velocity uses m/s. ProximitySpeed is proximity change per second and needs its own calibration. This route provides single-point position and velocity; detection coverage and sampling activity determine validity. Installation and conditions · Calibration

SPS four-anchor tracking

Choose this to measure an SPS Socket/Plug root moving within the Avatar. Unity components create four receivers at known positions and report proximity values; desktop Sensa reconstructs the root's three-dimensional position.

  1. Add SPS four-anchor tracking (SensaFixedRootProbe) or Automatic SPS Setup and select your target root.
  2. Inspect the green common detection region in Unity or the explorer and keep the intended motion within it.
  3. Select the object/coordinate metric in the workbench, capture movement endpoints, check direction/range, save and enable input.

Receivers have a radius of 2 Avatar-root local units. Coordinates follow the Avatar's authored scale; interpret scaling in that frame. Explicit Transform, Sensa or native Contact targets can also use this route. See positioning for geometry, sampling and scale conditions, and the Unity package for installation.

Shader root encoding and region capture

Choose this experimental setup when a PC desktop view can retain the encoded block. Avatar rendering encodes root position, X/Z axes and Avatar scale; the desktop bridge reads the block into OSC measurements.

  1. Add Shader Root Capture (Experimental) in Unity, select the root and set its Producer ID.
  2. Enable encoding after building. Follow the capture guide to select the complete block and configure the matching ID.
  3. Inspect decoding, choose the required Tracking measurement metric in the workbench, then calibrate, save and enable input.

QR finder patterns locate the tile, white margins buffer small shifts, and Reed–Solomon correction restores some damaged data. The rendered image, capture region and advancing frames determine availability. Current protocol and validity · Implementation reference

Follow body movement with a reference plane

Use this for relative movement between a target and reference on your own Avatar, such as approach measured along the palm’s or chest’s current direction.

  1. Add a root tracking component for the measured target in Unity, then create GameObject → Sensa → Tracking Frame and select the bone or root to follow. Use the same tracking method for target and plane, with unique instance names.
  2. Set the plane’s centre and orientation; the Scene +Z arrow marks positive depth. After building, confirm valid readings for the target, <name>_Origin and <name>_Forward in the workbench.
  3. In Flow → Spatial calculation presets → Follow a moving plane, select the target and Origin, add and review the drafts, save, then connect depth, offset or distance to outputs.

Shader can also define a following plane from its own position and Forward direction. Unity setup steps · Calculation template and units

Other inputs and tools

PhysBone Stretch/IsGrabbed can drive scalar controls; OSCQuery and Hub discover/forward parameters. Independent Point/Handle/Pose and Avatar/World labs provide measurement-model and integration checks. Lab workflow

Check calculations with observable parameters or recording first, then use small device targets to confirm direction, response and stopping. Workbench guide · Feature overview