Haptics (VRChat)
everything-imu can turn VRChat OSC contact events into controller rumble, so a tracker you’re wearing buzzes when something touches that part of your avatar.
Avatar setup
Section titled “Avatar setup”You need VRCFury in your Unity project.
Do not upload the avatar as a test - test uploads block OSC initialization. Duplicate the avatar and test from the copy.
- Import the IMUHaptics Unity package (published with the desktop app on the releases page).
- Drag the prefab from
Assets/MooshPaw/IMU Hapticsonto your avatar. - Move the haptic GameObjects to match your avatar’s proportions - each point should sit where the real tracker sits on your body.
- (Optional) Disable haptic points you won’t use to keep the parameter count low.
- Upload the avatar and test.
Adding your own points
Section titled “Adding your own points”Duplicate an existing haptic point, reposition it, and set its avatar parameter to
Haptics/{YourName}. Re-link the parent bone under Armature Link (or move the
GameObject onto the target bone in the hierarchy). Keep the parameter Local
Only - haptics run locally, so there’s no need to sync, and it keeps your
avatar’s rating down.
In-app setup
Section titled “In-app setup”- Open the Haptics section.
- Enable the Bridge.
- Set the OSC port to
9001(VRChat’s default output). - Test your devices.
- Add the mappings you need.
- Set each mapping’s parameter to
/avatar/parameters/Haptics/{YourPoint}- it must match the VRChat contact-receiver name exactly, or nothing fires. - Pick the device that rumbles for that point and tune the settings.
Mapping modes
Section titled “Mapping modes”- Proximity (variable): rumble strength scales
0..1- stronger toward the center of the contact, weaker at the edges. - Pulse (fixed): a single rumble burst for a set duration, then off. Pair it with a contact receiver set to On Enter.
Use the Discovered OSC Addresses list to add addresses without typing them.
UDP-forwarded haptic targets
Section titled “UDP-forwarded haptic targets”You can register host:port endpoints as virtual rumble devices, so a remote
setup (for example a phone on your LAN) receives haptics over the network.