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. |