Prepare your Avatar - Z4urce/VRC-Haptic-Pancake GitHub Wiki

Jump to section…

VRChat

1. Set up the components

For each tracker / haptics device…

  1. Add VRC Contact Receiver components to the Armature bone where you wear your tracker.
  2. Ensure proper positioning, shape type and size.
  3. In Filtering settings, uncheck Allow Self, keep Allow Others checked, and check Local Only.
    • Do not enable Allow Self unless you know what you are doing! Enabling it while the receiver collides with another collider on you will result in constant collision, breaking haptic feedback.
    • Checking Local Only means these contacts won't impact your avatar performance rank. Uncheck this if you want to show others where your haptic contacts are.
  4. Define which collision tags will trigger haptics by adding specific ones.
    • Common interactions: Body Parts → Hand, Finger, Head, Torso, & Foot
  5. Set the Receiver Type to Proximity.
  6. Come up with a unique name for the parameter.

Screenshot of Unity interface showing a VRC Contact Receiver overlaid on a fox footpaw.  The contact is set for HapticFootRight and follows the settings described above.

Recommendations

Parameter names

Tip

The Haptic Bridge App has presets to quickly assign these names to trackers. You can still use custom names.

Name Remarks
HapticHead
HapticElbowLeft Left (and Right) elbow/upper arm section
HapticElbowRight [see above]
HapticChest The Bridge App lets you combine this (or any other) with Hips
HapticHips Primary hip/waist/belt
HapticKneeLeft Left (and Right) leg/shin/knee area
HapticKneeRight [see above]
HapticFootLeft
HapticFootRight

Contact placement

Tip

Most avatars' default VRC Contact Senders are too small. You might want to make your VRC Contact Receivers oversized (as shown below) to compensate.

Click/tap image for full view.

Collage of Unity screenshots showing VRC Contact Receivers lined up with the arms, legs, chest, hips, and paws, for both plantigrade and digitigrade leg/foot style.  The contacts are all slightly bigger than the limb/body part.

Feel free to experiment! This is just to help you get started.

Modular avatar setup

Note

This is optional and just helps with reusing and sharing your haptics setup.

Instead of directly adding VRC Contact Receivers, you can create empty objects to hold your Contact Receivers, then use a modular avatar system to connect that to your armature. This helps with making shareable Unity prefabs.

For example, with VRCFury…

Screenshot of Unity interface showing a VRCFury Armature Link attached to a game object with a VRC Contact Receiver.  VRCFury is set to link game object 'HapticsFootRight' with Avatar Bone 'Foot Right'.

2. Upload and test

Note

While VRC Gesture Manager works great for testing inside Unity, you'll want to make sure VRChat itself recognizes your contacts.

  1. Upload your avatar with the VRChat SDK.
  2. Launch VRChat (desktop mode or VR).
  3. Once in a world, switch to your new/edited avatar.
  4. Open the Action Menu (radial menu with avatar controls).
    • R (Desktop) or Menu (VR).
  5. Navigate to Options → Avatar → Avatar Overlay, then select Contacts (from default None).
  6. Look down at yourself and check if your haptic contacts follow your body movements, chest/feet/etc.
  7. Open the Action Menu again, setting Avatar Overlay back to None.
  8. Up one level in the main Options → Avatar menu, toggle on Debug.
  9. Use Page Down and Page Up (Desktop) or the clickable buttons (VR) to find the parameters you picked above.
    • It might help to look back at the recommended names.
    • Bonus: Find a friend and ask them to walk into you, intersecting with your avatar. The values should jump from 0.0 to 1.0 depending on how close they are to the center of that contact.
  10. Toggle off the Debug view.

You are now ready to use the 'Haptic Pancake Bridge' app! 🎉

Examples

Contacts overlay

Notice how the blue cylinders along the arms, legs, and paws are following the limbs they're attached to.

Screenshot of VRChat showing a fox avatar with many blue and yellow spheres showing contact points.  The blue ones along the arms/legs/etc are positioned appropriately to follow the actual limbs in a sitting pose.

Avatar debug parameter view

Look for the Haptic[…] parameter names in the list of debug values. If a friend runs into you, those values should change.

Screenshot of VRChat's Avatar Debug View showing all avatar parameters, with various 'Haptic[...]' parameters underlined to show that they are present.

3. Troubleshooting

In the past, VRChat needed you to clear the OSC directory if you edited an existing avatar. Nowadays, VRChat should handle this correctly.

If you have issues anyways, try clearing the AppData\LocalLow\VRChat\VRChat\OSC\ directory to reset VRChat's list of known parameters.

OS Typical path
Windows %APPDATA%..\LocalLow\VRChat\VRChat\OSC\
Linux $HOME/.local/share/Steam/steamapps/compatdata/438100/pfx/drive_c/users/steamuser/AppData/LocalLow/VRChat/VRChat/OSC/

Resonite

An official guide will come later, when free time permits. For now, check the Haptic Pancake community chat (Discord) or ask folks in Resonite for help.

⚠️ **GitHub.com Fallback** ⚠️