Namespace Serenity.SoundMixer.Infrastructure.RelationshipManager.Editor
Classes
AudioChannelCreator
Creates a Serenity audio channel — a UnityAudioPlayerSettings asset routed to a mixer group — from validated input. Thin adapter over AudioPlayerSettingsCreator, which owns every asset mutation (resolve-or-create by Id, rollback, Addressables registration); kept as a separate entry point purely so the Relationship Manager's Create Channel section (Validate(string, string)'s string-per-call shape, DefaultChannelOutputFolder) does not have to change.
AudioChannelCreator.Result
AudioChannelGroupReassigner
Routes an existing audio channel to another mixer group — the fix the Audio Channel Manager's Inconsistencies rows offer for a channel with no usable group. The write goes through the shipped-content gate, is undoable, and is saved, so the channel the row named is the one that changed and the author finds the change on disk.
AudioMixerChannelGroupCreator
Public, reusable helper that creates a plain mixer group (an audio channel's destination) under a parent group. It wraps the module's internal Serenity.SoundMixer.Infrastructure.AudioMixerEffectLoop.Editor.AudioMixerEffectLoopReflectionAdapter so the relationship-manager tool can create channels without duplicating the fragile internal-API access. Unlike the effect-loop creator, this does not add a Receive chain — it is just a group.
AudioMixerRelationshipManagerWindow
Editor window (Tools ▸ Serenity ▸ Browse ▸ Audio ▸ Audio Channel Manager) that shows and reconciles the relationship between a Unity AudioMixer and the Serenity sound configuration: which groups exist, which channels (AudioPlayerSettings) route to them, the effect loops, the exposed parameters, and every inconsistency between the two sides. It can create a channel/group, run repair actions, and — with a dry-run preview, explicit confirmation and Undo for the reversible parts — delete a channel/group while migrating the references that would otherwise break.
Overview, Inconsistencies, Repair, Create Channel and Delete Channel are five independent
mini-tools, not wizard steps — there is no shared progression between them, so they are presented as a
master-detail list (Serenity.Global.Infrastructure.Editor.SerenityMasterDetailGui) rather than a stepped flow: pick one on the
left, work in it on the right, with the mixer picker and the activity log persistent above and below
the split. The window only orchestrates: detection lives in AudioMixerRelationshipAnalyzer,
repair planning in AudioMixerChannelDeletionPlanner, scanning in
AudioMixerRelationshipScanner, and each section's own presentation in its
Sections/AudioMixer*SectionGui collaborator.
AudioMixerRelationshipScanner
Editor-only bridge that gathers the live Unity + Serenity state for a given UnityEngine.Audio.AudioMixer into the pure snapshots consumed by AudioMixerRelationshipAnalyzer and AudioMixerChannelDeletionPlanner, while also keeping the live asset references the window needs to apply changes. All AudioMixer structure reading is delegated to the existing AudioMixerYamlReader; this class only joins the pieces.
AudioMixerRelationshipScanner.ChannelAsset
A Serenity channel paired with the live settings asset it came from.
AudioMixerRelationshipScanner.ScanResult
Everything the window needs: the snapshots plus live asset references for applying edits.
SerenityMixerTopologyWindow
Read-only visual routing diagram for a Unity UnityEngine.Audio.AudioMixer and the Serenity sound
configuration: draws each Serenity audio channel wired to its mixer group, marks which groups have their
volume exposed, and lays out each effect loop's source groups feeding its loop group via sends.
Complements the Audio Channel Manager (which lists inconsistencies and creates/repairs channels):
this answers "how does my audio actually route?" at a glance, with no analysis or edits.