Unity-side UPM package. Sends events to the companion plugin (logi-plugin) over a Named Pipe (Windows) or a Unix Domain Socket (macOS/Linux).
Unofficial community package. Not affiliated with Logitech or Unity Technologies.
OpenUPM (recommended):
openupm add com.edinylcnn.hapticbridgeGit URL: Unity Package Manager → + → Add package from git URL →
https://github.com/edinylcnn/HapticBridgeForUnity.git?path=/unity-package
Unity 2022+ shows a "Missing signature" dialog for any OpenUPM package — click Install Anyway. This is a Unity-wide warning for 3rd-party scoped registries, not specific to this package.
using HapticBridge;
// One-liner
HapticsBridge.Trigger(HapticEvent.Click);
// Raw waveform (one of the 15 SDK waveforms)
HapticsBridge.TriggerRaw("firework");
// Manual DI
IHapticService haptic = new HapticBridgeService();
haptic.Trigger(HapticEvent.Success);Use HapticsBridge.IsAvailable to check whether the companion plugin is installed — if false, you can point the user to the install guide. Calls are safe either way: the fallback is a no-op, so nothing crashes.
Window → HapticBridge → Test Panel
- Pipe connection status + last error
- Temp path
- Per-event trigger buttons
Surfaces a Could not connect — ... message when the plugin is not running.
unity-package/
├── Runtime/
│ ├── IHapticService.cs
│ ├── HapticEvent.cs ← 9 generic events
│ ├── HapticBridgeService.cs ← pipe (Windows) / Unix socket (mac/linux) client
│ ├── NullHapticsService.cs ← fallback
│ ├── HapticsBridge.cs ← static façade
│ └── HapticBridge.Runtime.asmdef
├── Editor/
│ ├── HapticsBridgeChecker.cs ← test panel
│ └── HapticBridge.Editor.asmdef
├── Samples~/
│ └── BasicUsage/ ← keys 1-5 trigger events
└── package.json
| Event | Waveform |
|---|---|
Click |
subtle_collision |
Confirm |
jingle |
Success |
completed |
Failure |
mad |
Warning |
damp_state_change |
Notification |
happy_alert |
Achievement |
firework |
ImpactLight |
subtle_collision |
ImpactMedium |
sharp_collision |
Raw waveforms you can pass to TriggerRaw: sharp_collision, sharp_state_change, knock, damp_collision, mad, ringing, subtle_collision, completed, jingle, damp_state_change, firework, happy_alert, wave, angry_alert, square.
| Platform | Haptic |
|---|---|
| Windows Standalone + Editor | ✅ |
| macOS Standalone + Editor | ✅ |
| Linux Standalone + Editor | ✅ |
| iOS / Android / WebGL / Console | ➖ (no-op fallback) |
The runtime asmdef sets noEngineReferences: true — plain .NET, compiles under Mono and IL2CPP.