logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    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.

    Inheritance
    object
    FeedbackHidDiagnostics
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    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>
    In this article
    © 2026 Serenity. All Rights Reserved