Class SoundMixerEffectLoopBinder
Editor-only helper that registers an effect-loop definition into the project's
UnitySoundMixerSettings so the runtime service can resolve it by id (the service builds
its lookup strictly from settings.EffectLoops). Idempotent: it adds the definition only when
missing. The target settings asset is the one project-owned settings asset that references the
definition's own mixer — never settings made for another mixer, and never settings the package ships,
which the next package update overwrites. DescribeSettingsProblemFor(AudioMixer) states the same
resolution's failure before a run, so a wizard can block on it instead of failing after it started.
Never throws to the caller.
Inheritance
SoundMixerEffectLoopBinder
Assembly: Serenity.UnitySoundMixer.Infrastructure.Editor.dll
Syntax
public static class SoundMixerEffectLoopBinder
Methods
DescribeSettingsProblemFor(AudioMixer)
Why a loop on mixer could not be registered, naming the mixer and the way
forward, or null when exactly one project-owned settings asset references it.
Declaration
public static string DescribeSettingsProblemFor(AudioMixer mixer)
Parameters
| Type |
Name |
Description |
| AudioMixer |
mixer |
|
Returns
EnsureRegistered(UnitySoundMixerEffectLoopDefinition, SerenityAssetCreationTransaction)
Ensures definition is present in the matching settings' EffectLoops list,
adding and saving it when missing. Fails clearly when no suitable settings asset can be found or
when a different definition already occupies the same id. Given a transaction, the
settings asset is captured on it before the append, so a run that fails later puts the list back.
Declaration
public static SoundMixerEffectLoopBinder.RegistrationReport EnsureRegistered(UnitySoundMixerEffectLoopDefinition definition, SerenityAssetCreationTransaction transaction = null)
Parameters
Returns