ORIGINAL MUSIC
FOR GAMES
MUSIC DESIGN, SHORT MELODIES, AND ADAPTIVE MUSIC.
SOUND DESIGN
FOR GAMES
Gameplay, cinematics
and trailers.
TECHNICAL AUDIO
IMPLEMENTATION
AUDIO PROGRAMMING · UNITY · UNREAL · FMOD · WWISE
VOICE OVER
PRODUCTION
Casting, direction,
recording and localization.
SIZZLE REEL
WATCH NOW
WHO WE ARE

YOUR Game AUDIO STUDIO

BUILT FOR GAME DEV

We’re Flutu. A game audio studio focused on what matters most: the player experience and the trust it takes to build great things together.

We make games and animation sound awesome while giving your team more time and peace of mind through clear communication and hands-on collaboration.

Acoustics and Reverb Management for AAA Shooters

How we approach acoustic optimization for large-scale shooters in Unreal Engine 5 and Wwise.

DOCTOR AUDIO · TECHNICAL AUDIO · UNREAL ENGINE 5 + WWISE · VICTOR HIME

In a large streamed shooter, acoustic optimization starts with a practical question: which rooms, portals, paths and environmental responses actually matter to the listener and audible emitters at this moment?

Our method combines reusable acoustic descriptors, relevance-based registration, event-driven updates and a single ownership path into Wwise Spatial Audio. The goal is predictable runtime cost without sacrificing the directional and environmental cues that make a firefight readable.

We structure the work around two independent performance budgets, Unreal-side queries and Wwise Spatial Audio processing, and validate both against gameplay scenarios and critical listening on target hardware.

TL;DR

The production problem

Wwise Rooms and Portals can describe an interior. They do not automatically solve the lifecycle of acoustic data across a streaming world. Repeated manual placement creates stale content, unnecessary updates and unpredictable behavior during level changes.

From world-wide maintenance to relevant active workThe initial problem is work scaling with placed content; the design activates only currently relevant descriptors and their propagation paths.PLACED-OBJECT APPROACHRELEVANCE-BASED DESIGNPotential recurring work across placed contentOnly relevant states and paths are activeThe two operating models differ in when acoustic work is scheduled.
The objective is to make active work depend on the nearby and audibly relevant scene. Memory, discovery and streaming still scale with the wider world.

At world scale, the total content inventory is not the same as the set Wwise needs registered at runtime. Our working-set model keeps those concerns separate, including the acoustic paths required by relevant remote emitters.

One acoustic contract: from editor to runtime

The core result is a separation between editor-time acoustic authoring and runtime decisions. A building does not rediscover its acoustic topology whenever it appears on the map.

  1. 01SOURCE WORLDTopology, materials, biome data and authored overrides
  2. 02ACOUSTIC PROBESample structural data at editor time
  3. 03DESCRIPTORSReusable bounds, class, reverb and boundary metadata
  4. 04WORLD + SCHEDULERChoose active paths and bounded queries
  5. 05WWISE ADAPTERApply one resolved acoustic state per boundary

The validator checks descriptor consistency and lifecycle invariants against the same underlying data.

Generate per type rather than per placementOne building type yields a validated descriptor reused by three instance placements; a custom building uses an override through the same validator.BUILDING TYPEAcoustic descriptorINSTANCE 01Same validated dataINSTANCE 02Same validated dataINSTANCE 03Same validated dataCustom rooms and exceptions use explicit overrides, then pass the same validation pipeline.
The source level remains authoritative. The Acoustic Probe enriches known topology, while geometry-only inference is treated as a fallback, not a reliable way to discover production intent.

What a descriptor contains

Bounds, acoustic class, material summary, shared reverb configuration, known Room/Portal topology, possible destruction states, runtime references and a source-data hash. A changed level invalidates outdated descriptors during validation.

One Room or several?

Room count follows acoustic behavior, not geometric convenience. An L-shaped area can remain one Wwise Room. Additional Rooms and Portals belong where propagation actually changes.

Runtime: relevant sound, changing world

Registration follows the listener and audible emitters. A remote gunshot may require the Room/Portal path of a building outside the listener's immediate cell. A radius-only system would miss that sound.

Three registration tiers with a remote audible emitterTier 1 registers complete room, portal and geometry data around listener and relevant emitter; Tier 2 retains rooms and portals; Tier 3 keeps descriptors only.TIER 1TIER 2TIER 3Listener + audible emittersRooms / Portals / GeometryFull active behaviorAdjacent propagation ringRooms / PortalsReduced update cadenceRest of streamed worldDescriptors onlyNot registered in WwiseA gunshot in a distant building can activate that building's acoustic path even outside listener proximity.
Tier boundaries are operational design classes. Their distance thresholds and registration limits must be measured for the project.

Streaming transitions use hysteresis and a per-frame registration queue. Camera cuts, spectator switches and respawns invalidate listener-local caches; late asynchronous query results carry an epoch and are discarded if the listener has moved.

Five environment-specific acoustic modelsCity and interior use Wwise propagation; open field uses terrain queries; forest uses a vegetation density field; jungle uses density with canopy context.CITYRooms, Portalsand structural proxiesDense geometry andINTERIORWwise Room/ Portal graphRoom topology, directOPEN FIELDTerrain query+ outdoor sendRidges and longFORESTVegetation-density fieldDo not raycastJUNGLEDensity field+ canopy metadataDense vegetation withoutTransitions blend acoustic classification and sends instead of switching in one frame.
One query interface selects different representations per environment. Terrain remains separate from foliage density.

Diffraction and reverb

Wwise owns diffraction within active Room/Portal graphs. Outside them, the design permits a bounded, single-edge custom approximation without reflections. Reverb references a shared set of configurations with a per-listener active-work cap, rather than one active reverb instance for every room.

Emitter scheduling

Gunshots get event-time attention; vehicles receive periodic updates; persistent sources reuse cached state; distant ambience may need only descriptor state. Each async result is checked against listener epoch, descriptor revision and emitter generation.

Destruction, ownership and budgets

Destruction is an acoustic state transition, not a reason to rescan the entire map. Where the game provides known states, a boundary can move from intact to breached to collapsed through predefined descriptors and disabled Portal candidates.

Destruction moves between acoustic statesA known destructible boundary progresses from intact to breached to collapsed, and each event triggers scoped invalidation and a budgeted update.01 INTACTClosed boundary02 BREACHEDOpen candidate Portal03 COLLAPSEDRoom / exterior decisionGameplay event → scoped cache invalidation → coalesced Wwise mutation
Collision must reflect the new gameplay state before queries run. Unpredictable damage uses a temporary local fallback; Portal or Geometry updates are scheduled within a mutation budget.
Exclusive boundary ownershipStatic Room/Portal/Geometry boundaries route through Wwise; dynamic boundaries without active Wwise representation route through custom queries; never double-process the same boundary.WWISE OWNSActive Rooms / Portals / GeometryTransmission + diffraction on that pathCUSTOM LAYER OWNSTerrain / dynamic obstacle / fallbackBounded direct-path estimateSingle adapter resolves ownership before sending acoustic results to Wwise.
The same wall must never receive both Wwise transmission loss and an independent custom attenuation pass. An ownership transfer must suppress stale contributions first.
Runtime budgetBoundsExamples of controls
Unreal acoustic queriesTerrain, dynamic obstacles and custom fallback raysEmitter priority, update class, cache age, per-frame query cap
Wwise Spatial AudioPaths, diffraction, reflections, sends and audio-thread workRay and path limits, order limits, load-balancing spread, CPU ceiling
Topology mutation queueDestruction bursts and boundary updatesEvent coalescing, listener relevance, work spread over frames

What makes this safe

One authoritative material mapping, one adapter, paired register/unregister operations across streaming cycles, cache epochs for listener moves and bounded queues for dynamic changes. The implementation still requires profiling with the actual engine, Wwise integration and target platform.

How to verify the architecture

Correct geometry is not the same as correct sound. Validation needs two parallel gates: deterministic checks that can run headless, and listening tests that cannot be replaced by a profiler.

EDITOR DATA

Descriptors match source hashes; Portal orientation, two-sided connections and Room priority are valid.

STREAMING

Repeated load/unload cycles leave symmetric registrations and no retained stale state.

RUNTIME

Query counts, Spatial Audio path complexity, cache age and mutation spikes remain under measured budgets.

LISTENING

Shots around corners, exterior transitions, foliage attenuation and firefights remain perceptually credible.

Our validation pipeline combines editor-save checks, changed-content CI, scheduled full-world checks, packaged-build scenarios and target-hardware performance captures. An inventory should discover unloaded actors and inspect only the data that cannot be read from metadata.

Recommended acoustic stress cases

Remote indoor gunshot; city firefight with several emitters; room-to-street transition; forest-to-field transition; camera cut; repeated streaming cycles; simultaneous destruction events; packaged-build resource integrity.

Mix before custom DSP

Inspect voice stealing, HDR, auto-ducking, bus gain, sends and master processing before developing a new effect. Pumping during weapon fire is a symptom; the profiler and listening pass must identify the actual cause.

For more on tracing playback and routing before making changes, read Before We Touch a Sound.

How we validate the optimization

We evaluate this approach against three production questions: is the acoustic data correct, does active work stay within the project budget during streaming and combat, and does the result preserve the cues players need to make decisions?

Data integrity

Validation focus
Descriptor and ownership rules
What we check
Module contracts, generation rules, registration tiers and adapter ownership

Runtime performance

Validation focus
Profile on target hardware
What we check
Capture Unreal query costs, Wwise Spatial Audio processing, registered objects, mutation spikes and frame-time percentiles

Lifecycle and CI

Validation focus
Regression checks
What we check
Check source hashes, topology, load/unload symmetry, cache epochs and packaged-build stress scenarios

Listening quality

Validation focus
Perceptual acceptance
What we check
Check shot intelligibility, occlusion, diffraction, destruction transitions and the mix against gameplay references

Performance decisions depend on project-specific measurements. Capture the integration version, active state, query and Wwise costs, and perceptual references on target hardware.

Operating the acoustic pipeline

This architecture replaces repeated manual work with tool ownership, source metadata and lifecycle rules. For a small level with limited acoustic density, standard Wwise configuration and good content validation may be simpler.

Tooling and maintenance

Editor tooling, descriptor regeneration, maintained integration changes, source-data discipline, regression scenarios and continued listening QA.

Environment-specific representations

Vegetation as a density field, terrain ray interpretation and single-edge outdoor diffraction are deliberately reduced models. Their behavior must be tuned against gameplay and reference recordings.

Continuity during world changes

Unpredictable destruction, asynchronous updates, streaming stalls and abrupt camera relocation need safe temporary acoustic states.

Listener model

The documented listener model is client-local. Dedicated-server acoustics, split-screen and multi-listener ownership need separate requirements.

Applying the method in production

Start with one repeated building type and one custom exception, then test the lifecycle under real gameplay. Avoid investing in a broad integration patch until a capture establishes where cost actually sits.

  1. Baseline. Capture UE queries, Wwise object counts, Spatial Audio cost, voice activity and reference listening on target hardware.
  2. Audit. Verify Is Dynamic, Portal refresh, priorities, materials and reverb routing before changing integration code.
  3. Generate. Author one descriptor, its source hash and an override path; change the source level and confirm stale data is caught.
  4. Activate. Implement and validate listener- and remote-emitter working sets, streaming symmetry and camera-cut cache invalidation.
  5. Stress. Introduce destruction, run separate UE and Wwise budgets, compare owned versus fallback paths and listen to the result.

The success criteria are measurable behavior and consistency, not the number of systems in the architecture diagram.

Production questions

How does Flutu structure acoustics for a massive shooter?

We begin with reusable descriptors from level data, activate only the relevant listener and emitter paths, invalidate state on gameplay events, and route every acoustic boundary through a single Unreal-to-Wwise ownership contract.

How do we verify the optimization?

We baseline Unreal query work and Wwise Spatial Audio separately, then profile representative traversal, firefights, camera cuts, streaming and destruction on target hardware. We compare cost, cache stability and listening quality before accepting a change.

Why not use Wwise Rooms and Portals everywhere?

They remain the preferred interior model. Terrain, vegetation and dynamic boundaries have different cost and representation needs; the design uses one ownership contract across those cases.

Can destruction be handled without runtime geometry rebuilding?

Known damage states can activate predefined opening candidates and invalidate local caches. Arbitrary changes require a bounded fallback and measured mutation work.

Why does Flutu publish technical whitepapers?

Many AA and AAA projects are covered by NDAs. These papers present methods and technical reasoning while keeping client-specific assets and protected production data private.

This website uses cookies.

By browsing our website, you agree to our use of cookies to analyze traffic and enhance your browsing experience. Your data will be aggregated with that of other users to ensure optimal functionality.