Class FeedbackHidDiagnostics
Developer-facing diagnostic for the raw-HID feedback transport: signals that a controller's haptics/LED could not be driven because the host is missing the udev permissions (a Linux concern Serenity, as a Unity package, cannot and must not install itself).
This is NOT meant to drive player-facing UI. Players must never be prompted to touch
udev — installing the rules is a distribution-time concern solved invisibly (e.g. a
.deb/.rpm post-install step, or the host's existing steam-devices rules). See
the integration guide's "distribution recipes". The matching editor-log warning is compiled out of
release builds for the same reason.
Use this hook only for development/editor tooling, automated tests, or optional anonymous support telemetry:
FeedbackHidDiagnostics.HidAccessDenied += info => Debug.Log($"set up udev for {info.DeviceName}");
It fires at most once per controller per failure streak, and MAY be raised from a background thread (the Switch Pro streaming thread), so marshal to the main thread before touching Unity APIs.
Inherited Members
Namespace: Serenity.Feedback.Infrastructure.Hid
Assembly: Serenity.UnityFeedback.Infrastructure.dll
Syntax
public static class FeedbackHidDiagnostics
Fields
UdevRulesRelativePath
Path of the bundled udev rules the host needs for raw-HID output on Linux.
Declaration
public const string UdevRulesRelativePath = "Assets/Serenity/Documentation/Linux/70-serenity-controllers.rules"
Field Value
| Type | Description |
|---|---|
| string |
Events
HidAccessDenied
Raised when a controller's raw HID node could not be opened (likely missing udev access on Linux).
Declaration
public static event Action<HidAccessDeniedInfo> HidAccessDenied
Event Type
| Type | Description |
|---|---|
| Action<HidAccessDeniedInfo> |