Phase 72.22.1.7 adds short one-shot music stingers for adaptive music events. The system maps gameplay event tags to musical phrases that can overlay the current adaptive music bed without affecting gameplay simulation.
Source Of Truth#
- Contract: MusicStingers_V2_Contract.json
- Runtime module:
V2Audio - Core types:
EV2MusicStingerTriggerKind,FV2MusicStingerBinding,FV2MusicStingerRequest,FV2ResolvedMusicStinger, andFV2MusicStingerCatalog - Builder:
UV2AudioBlueprintLibrary::BuildDefaultMusicStingerCatalog - Validator:
UV2AudioBlueprintLibrary::ValidateMusicStingerCatalog - Resolver:
UV2AudioBlueprintLibrary::ResolveMusicStinger - Registrar:
UV2AudioSubsystem::RegisterMusicStingerCatalog - Subsystem route:
UV2AudioSubsystem::TriggerMusicStinger
Trigger Coverage#
The default MusicStingerSystem.V2 catalog authors three launch stingers.
| Trigger | Gameplay event | Stinger id |
|---|---|---|
ItemPickup |
Gameplay.Event.ItemPickup |
Music.Stinger.ItemPickup.Spark |
AchievementUnlocked |
Gameplay.Event.AchievementUnlocked |
Music.Stinger.Achievement.Fanfare |
DangerSpotted |
Gameplay.Event.DangerSpotted |
Music.Stinger.Danger.Riser |
Each binding targets a Music.Cue.Stinger.* cue and a /Stingers/ audio asset.
Durations are capped as short musical phrases and cooldowns prevent rapid repeat
spam.
Runtime Behavior#
FV2MusicStingerCatalog::ResolveStinger validates the event binding, enforces
cooldown from the request's LastTriggeredSeconds, and returns a queued
one-shot result with an accepted reason tag such as
Audio.MusicStinger.Accepted.DangerSpotted.
UV2AudioSubsystem registers the catalog, triggers stingers, stores the last
accepted stinger, and exposes binding count, trigger coverage, last stinger id,
last event tag, and one-shot evidence through FV2AudioRuntimeSnapshot.
The stinger system is rollback-cosmetic: it overlays adaptive music only and does not change gameplay state.
Validation Commands#
python3 V2/ue/Tools/check-v2-music-stingers.py
python3 V2/ue/Tools/check-v2-music-intensity-curves.py
python3 V2/ue/Tools/check-v2-audio-module.py
python3 -m json.tool V2/ue/Content/V2/Audio/MusicStingers_V2_Contract.json
python3 V2/tools/validate-v2-docs.py