logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class AudioMixerEffectLoopSyncService

    Editor-only engine that makes the AudioMixer match an effect-loop DEFINITION (the source of truth): for every Source group it ensures a Send into the loop's Receive exists and its level is exposed as {Source}_{Loop}_Send — writing the resolved exposed-parameter names back onto the definition. The loop's own output level is left as a static mixer setting (not exposed). Idempotent/additive: it never removes anything and skips what already exists. Reads mixer structure via YAML (UnityYamlUtils), writes via Serenity.SoundMixer.Infrastructure.AudioMixerEffectLoop.Editor.AudioMixerEffectLoopReflectionAdapter. Never throws to the caller.

    Inheritance
    object
    AudioMixerEffectLoopSyncService
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.SoundMixer.Infrastructure.AudioMixerEffectLoop.Editor
    Assembly: Serenity.UnitySoundMixer.Infrastructure.Editor.dll
    Syntax
    public static class AudioMixerEffectLoopSyncService

    Methods

    FindAllDefinitions()

    Loads every effect-loop definition asset in the project.

    Declaration
    public static List<UnitySoundMixerEffectLoopDefinition> FindAllDefinitions()
    Returns
    Type Description
    List<UnitySoundMixerEffectLoopDefinition>

    FindEligibleSourceGroupNames(AudioMixer, string, string)

    Returns the names of the direct child groups of parentGroupName that are valid SOURCE groups for a loop: i.e. not the loop itself and not other effect-loop groups.

    Declaration
    public static List<string> FindEligibleSourceGroupNames(AudioMixer mixer, string parentGroupName, string loopGroupName)
    Parameters
    Type Name Description
    AudioMixer mixer
    string parentGroupName
    string loopGroupName
    Returns
    Type Description
    List<string>

    FindParentGroupName(AudioMixer, string)

    Returns the name of the group childGroupName sits directly under on mixer, or null when it has none (Master) or is not on the mixer — how the wizard seeds the parent of a loop it updates in place. Reads the mixer's YAML, like FindEligibleSourceGroupNames(AudioMixer, string, string).

    Declaration
    public static string FindParentGroupName(AudioMixer mixer, string childGroupName)
    Parameters
    Type Name Description
    AudioMixer mixer
    string childGroupName
    Returns
    Type Description
    string

    SyncDefinition(UnitySoundMixerEffectLoopDefinition)

    Ensures the mixer matches definition: for each Source, ensures a Send into the loop's Receive plus its exposed level; writes the resolved parameter names back onto the definition and saves it. The loop's own output level is left as a static mixer setting.

    Declaration
    public static AudioMixerEffectLoopSyncService.SyncReport SyncDefinition(UnitySoundMixerEffectLoopDefinition definition)
    Parameters
    Type Name Description
    UnitySoundMixerEffectLoopDefinition definition
    Returns
    Type Description
    AudioMixerEffectLoopSyncService.SyncReport
    In this article
    © 2026 Serenity. All Rights Reserved