logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Interface ISoundMixerEffectLoopDefinition

    Domain contract for a registered AudioMixer "effect loop" definition.
    An effect loop is a dedicated mixer group (e.g. EchoLoop, CaveReverbLoop) built as Receive -> effects -> Attenuation that other source groups (SFX, Voice, UI, ...) can route into via a Send/Receive pair. This definition is the persistent, reusable description of such a loop so that runtime use cases and EventDispatcher signals can resolve it by Id.

    Namespace: Serenity.SoundMixer.Domain.Entities
    Assembly: Serenity.SoundMixer.Domain.dll
    Syntax
    public interface ISoundMixerEffectLoopDefinition : IFoundationSettings
    Remarks

    This interface is pure C# and must NOT depend on UnityEngine; the AudioMixer reference is exposed as object, mirroring AudioMixer. Source groups are intentionally NOT part of this contract: the same loop is reusable from many different sources, so the source-side dry/Send routing is supplied at apply time, not baked into the definition.

    Properties

    AudioMixer

    Declaration
    object AudioMixer { get; }
    Property Value
    Type Description
    object

    The Unity AudioMixer asset that contains the loop group (typed as object to stay engine-agnostic).

    AudioMixerName

    Declaration
    string AudioMixerName { get; }
    Property Value
    Type Description
    string

    The name of the owning AudioMixer asset, kept for runtime matching/diagnostics when the reference is unavailable.

    DefaultWet

    Declaration
    float DefaultWet { get; }
    Property Value
    Type Description
    float

    Default wet (effect/Send) amount in the normalized range 0..1 suggested when applying this loop. The dry (original source) amount is its complement (1 - wet), so it is not a separate value.

    Description

    Declaration
    string Description { get; }
    Property Value
    Type Description
    string

    Optional human description of what the loop does.

    DisplayName

    Declaration
    string DisplayName { get; }
    Property Value
    Type Description
    string

    Human-readable name shown in tooling. Defaults to the loop group name when unset.

    EffectNames

    Declaration
    IReadOnlyList<string> EffectNames { get; }
    Property Value
    Type Description
    IReadOnlyList<string>

    The ordered internal effect names created inside the loop, for editor/debug visibility.

    LoopGroupName

    Declaration
    string LoopGroupName { get; }
    Property Value
    Type Description
    string

    The name of the generated loop mixer group (e.g. "EchoLoop").

    ReceiveEffectName

    Declaration
    string ReceiveEffectName { get; }
    Property Value
    Type Description
    string

    The internal name of the Receive effect at the head of the loop chain (typically "Receive").

    Sources

    Declaration
    IReadOnlyList<ISoundMixerEffectLoopSource> Sources { get; }
    Property Value
    Type Description
    IReadOnlyList<ISoundMixerEffectLoopSource>

    The configured source-group routes for this loop. Each entry binds a source group (e.g. "Music") to the exposed AudioMixer parameter names used to apply the loop from that source. This is what lets actions reference only an effect-loop id and a source group name. May be empty; entries may be null and must be ignored when resolving.

    In this article
    © 2026 Serenity. All Rights Reserved