Audio Manager
Categories:
The Audio Manager is the master audio controller for every GS_Play project. It extends GS_ManagerComponent and participates in the standard two-stage initialization managed by the Game Manager. On startup it initializes the MiniAudio engine, creates the named mixing bus graph, loads audio event libraries, and coordinates score track playback.
Like all GS_Play managers, the Audio Manager responds to standby mode automatically – muting or pausing audio output when the game enters a blocking operation such as a stage change.
For usage guides and setup examples, see The Basics: GS_Audio.

Contents
How It Works
Engine Lifecycle
When the Audio Manager activates, it initializes a MiniAudio engine instance and builds the mixing bus graph from its configured bus list. During Stage 2 startup it loads all referenced Audio Event Library assets so that events can be triggered immediately once startup completes.
Mixing Bus Routing
All audio output flows through named mixing buses. Each bus is a GS_MixingBus node in the MiniAudio graph with its own volume level and optional effects chain. The Audio Manager owns the top-level routing and exposes volume control per bus through the request bus.
Score Playback
The Audio Manager coordinates playback of ScoreArrangementTrack assets – multi-layer musical scores with configurable tempo, time signature, and layer selection. Score tracks are loaded and managed through the request bus.
Inspector Properties
| Property | Type | Description |
|---|---|---|
| Mixing Buses | AZStd::vector<BusEffectsPair> | Named mixing buses with optional effects chains. Each entry maps a bus name to an effects configuration. |
| Startup Libraries | AZStd::vector<AZ::Data::Asset<AudioEventLibrary>> | Audio event library assets to load during startup. Events in these libraries are available immediately after initialization. |
| Default Master Volume | float | Initial master volume level (0.0 to 1.0). |
API Reference
GS_AudioManagerComponent
| Field | Value |
|---|---|
| TypeId | {F28721FD-B9FD-4C04-8CD1-6344BD8A3B78} |
| Extends | GS_Core::GS_ManagerComponent |
| Header | GS_Audio/GS_AudioManagerBus.h |
Request Bus: AudioManagerRequestBus
Commands sent to the Audio Manager. Singleton bus – Single address, single handler.
| Method | Parameters | Returns | Description |
|---|---|---|---|
PlayAudioEvent | const AZStd::string& eventName | void | Plays the named audio event from the loaded event libraries. |
PlayAudioEvent | const AZStd::string& eventName, const AZ::EntityId& entityId | void | Plays the named audio event positioned at the specified entity for 3D spatialization. |
StopAudioEvent | const AZStd::string& eventName | void | Stops playback of the named audio event. |
StopAllAudioEvents | – | void | Stops all currently playing audio events. |
SetMixerVolume | const AZStd::string& busName, float volume | void | Sets the volume of a named mixing bus (0.0 to 1.0). |
GetMixerVolume | const AZStd::string& busName | float | Returns the current volume of a named mixing bus. |
SetMasterVolume | float volume | void | Sets the master output volume (0.0 to 1.0). |
GetMasterVolume | – | float | Returns the current master output volume. |
LoadEventLibrary | const AZ::Data::Asset<AudioEventLibrary>& library | void | Loads an audio event library at runtime, making its events available for playback. |
UnloadEventLibrary | const AZ::Data::Asset<AudioEventLibrary>& library | void | Unloads a previously loaded audio event library. |
PlayScoreTrack | const AZ::Data::Asset<ScoreArrangementTrack>& track | void | Begins playback of a score arrangement track. |
StopScoreTrack | – | void | Stops the currently playing score arrangement track. |
Notification Bus: AudioManagerNotificationBus
Events broadcast by the Audio Manager. Multiple handler bus – any number of components can subscribe.
| Event | Parameters | Description |
|---|---|---|
OnAudioEventStarted | const AZStd::string& eventName | Fired when an audio event begins playback. |
OnAudioEventStopped | const AZStd::string& eventName | Fired when an audio event stops playback. |
OnScoreTrackStarted | – | Fired when a score arrangement track begins playback. |
OnScoreTrackStopped | – | Fired when a score arrangement track stops playback. |
OnMixerVolumeChanged | const AZStd::string& busName, float volume | Fired when a mixing bus volume changes. |
See Also
For conceptual overviews and usage guides:
- GS_Audio Overview – Top-level audio gem documentation
- The Basics: GS_Audio – Scripting-level usage guide
For component references:
- Manager Base Class – The base class pattern for all managers
For related resources:
- Audio Events – Event-based sound playback and event libraries
- Mixing & Effects – Mixing buses and audio effects
- Score Arrangement – Multi-layer music scoring
Get GS_Audio
GS_Audio — Explore this gem on the product page and add it to your project.