logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.Feedback.Application.Effects

    Classes

    AdaptiveTriggerEffect

    DualSense adaptive-trigger effect. Routed through the channel seam to a backend (PcHidAdaptiveTriggerBackend over USB HID on desktop; a PS5-SDK backend on console).

    AudioEffect

    Plays a sound (an authored audio-player clip) as part of a feedback definition, so a single PlayFeedbackSignal can fire a coordinated rumble + flash + sound cue. Unlike the haptic effects, audio is independent of the vibration settings: it plays even when controller vibration is disabled and its volume is never attenuated by the haptic-intensity slider. Carries only the clip's identity (id/path) plus the routing type and volume — the channel rebuilds an AudioPlayerClip and plays it through the audio system.

    HitStopEffect

    Brief time-freeze ("hit-stop"): dips Time.timeScale to TargetTimeScale for DurationSeconds of REAL (unscaled) time, then restores the prior scale. Gameplay timing must be deterministic, so this effect is intentionally NOT affected by global intensity.

    LedEffect

    Controller LED color for a duration. Hardware-agnostic: drives any controllable controller LED (PlayStation light bar on DualSense / DualShock 4, Switch Pro home-ring intensity, ...). RGBA are 0..1 floats (engine-agnostic); A doubles as a brightness multiplier so global intensity can dim the LED without changing its hue.

    ScreenFlashEffect

    Full-screen color flash. Curve shapes the alpha envelope over the duration (normalized time 0..1 → 0..1, multiplied by PeakAlpha); when null a built-in fast-rise/slow-fall hump is used. Driven on unscaled time so it is visible during a hit-stop.

    ScreenShakeEffect

    Camera screen shake: a decaying positional jitter over a duration. Amplitude is scaled by global intensity (so a "reduce motion" / lower-intensity setting calms it). Camera only — for UI shake use UiScreenShakeEffect.

    UiScreenShakeEffect

    UI screen shake: a decaying jitter applied to active UI shake receivers (menus, HUD) — the screen-space counterpart to ScreenShakeEffect, which shakes the camera. Amplitude is scaled by global intensity (so a "reduce motion" / lower-intensity setting calms it).

    VibrationEffect

    Dual-motor gamepad vibration. Wraps a FeedbackIntensity and reuses the existing FeedbackScaler so its behavior (and tests) are unchanged.

    Interfaces

    IFeedbackCurve

    Engine-agnostic shaping curve: maps normalized time (0..1) to a value (0..1). Lets effects carry a designer-authored envelope without the Application layer depending on UnityEngine.AnimationCurve — the Infrastructure layer supplies an adapter that wraps the real curve.

    IFeedbackEffect

    One unit of feedback to actuate (vibration, LED, screen flash, hit-stop, screen shake, …). Effects are engine-agnostic, immutable data; a channel that CanPlay the concrete type turns it into a physical effect. The service applies global intensity via Scaled(float) before dispatch (global enable/disable is gated separately by the service).

    Enums

    AdaptiveTriggerMode

    Adaptive-trigger mode, modeled on the DualSense effect families. Mapped to the controller's legacy effect bytes by the backend (e.g. PcHidAdaptiveTriggerBackend).

    AdaptiveTriggerSide

    Which DualSense trigger an adaptive-trigger effect targets.

    In this article
    © 2026 Serenity. All Rights Reserved