FRSound System is an AAA-quality audio framework for Unreal Engine 5.7+. Built around a tag-driven audio state machine, it delivers adaptive music with vertical stem layering, seamless area audio blending, occlusion, spatial reverb zones, and an 8-channel audio settings system with full save/load support — all in one cohesive plugin.
UFRSoundSubsystem::PlayMusicTrack() from any Blueprint or quest event.UFRSoundStateProfile data asset and paired with a USoundMix. Profiles configure music duck levels, bus volumes, and transition rules. UFRTransitionManager discovers rule assets automatically on initialization — just create the assets, no code changes.UFRSoundSubsystem::RequestStateOverride(Tag) and ClearStateOverride(). Used for dialogue ducking, cinematics, cutscenes, and boss fight music. The state machine resumes normal evaluation when overrides are cleared.UFRReverbZoneComponent actors in your levels. Assign one of 8 built-in UReverbEffect presets: Exterior Open, Forest, Cave Small, Cave Large, Interior Stone, Interior Wood, Underground, Cathedral. Each has tuned RT60, early reflections, and diffusion values. Smooth transitions at zone boundaries.UFRAreaAudioProfile assets. Cross-fade blending at zone boundaries handles the transition for you — no manual blend Blueprint required.SM_FRMaster
SM_FRMusic
SM_FRMusicBase
SM_FRMusicStems
SM_FRMusicCombat
SM_FRSFX
SM_FRSFXCombat
SM_FRSFXWorld
SM_FRSFXFootsteps
SM_FRDialogue
SM_FRAmbient
SM_FRUI
SM_FRCinematic
SM_FRReverb
SC_FRMaster SC_FRMusic SC_FRSFX SC_FRDialogue SC_FRAmbient SC_FRUI SC_FRCinematic
Audio.State.Exploration Audio.State.Combat.Light Audio.State.Combat.Heavy Audio.State.Dialogue Audio.State.Cinematic Audio.State.Night
IFRSoundListener on your player character and call UFRSoundSubsystem::GetStateMachine()->BindToAbilitySystemComponent(ASC) on possession. The state machine then responds automatically to Gameplay Tag changes on the ASC — combat tags trigger combat music, status effects trigger state changes.RequestStateOverride(FRSoundTags::State_Dialogue) on OnDialogueBegin and ClearStateOverride() on OnDialogueEnd. FRSound automatically pushes SMix_FRDialogue — boosts dialogue bus, ducks music and SFX — and restores everything when the override clears.Audio->PlayMusicTrack(MyTrackDA, false). Clear the override with ClearStateOverride() to return to dynamic music evaluation. Fully usable from Blueprint.Currently in development. Follow progress and be the first to know when it launches on FAB.