- Video Showcase: Watch Wwise Implementation Demo (YouTube)
Overview
This project is a comprehensive interactive audio and sound design implementation for a sci-fi first-person shooter set in a hostile Martian environment populated by robotic turrets and drones. Using Audiokinetic Wwise integrated into Unity via C#, I engineered the adaptive combat music system, real-time parameter controls (RTPCs), surface-dependent footstep switches, three-tier dynamic mixing bus hierarchy, and original Foley recordings.
Tools & Technologies: Audiokinetic Wwise, Unity, C#, Digital Audio Workstation (DAW) Editing, Foley Recording
Audio Direction & Dynamic Range
The soundscape is structured around three core design pillars (Intense, Immersive, and Technologically Advanced) and mixed across a strict three-layer dynamic range hierarchy to maintain combat clarity without relying on visual UI cues:
- Foreground (Critical Gameplay Cues): Punchy weapon fire across three distinct archetypes (rapid-fire Assault Rifle, burst Shotgun, and charge-and-release explosive Disk Launcher), incoming player damage impacts, and enemy target-acquisition alerts.
- Midground (Contextual Feedback): Surface-reactive player footsteps, jump/landing impacts, jetpack thrusters, item pickups, and robotic enemy locomotion/servo hums.
- Background (Environmental Ambience & Music): Martian windscapes and multi-layered adaptive synth/electronic music segments.
Technical Contributions & Granular Systems
1. Dynamic Combat Music State Machine (MusicHandler.cs)
To transition smoothly between ambient Martian exploration and high-intensity combat, I wrote MusicHandler.cs in C# to bridge Unity AI aggro states with Wwise music events:
- Active Threat Tracking: When an enemy spots the player or takes damage, it registers itself in an active threat array managed by
MusicHandler.cs. - Event Posting & Delayed Decay: As soon as
currentEnemyCount > 0, the script posts thePlay_CombatWwise event and cancels any pending exploration transitions. Once all engaged enemies are destroyed or lose aggro, a 7.5-second decay timer (Invoke("PlayExploreMusic", 7.5f)) prevents jarring musical cuts between closely spaced skirmishes.
if (currentEnemyCount > 0)
{
if (!combatState)
{
combatState = true;
Debug.Log("Combat");
AkSoundEngine.PostEvent("Play_Combat", gameObject);
CancelInvoke("PlayExploreMusic");
}
}
else
{
if (combatState)
{
// Delay return to exploration music to prevent rapid state thrashing
Invoke("PlayExploreMusic", 7.5f);
}
}2. RTPCs, Switches & Stinger Triggers

- Player Health RTPC & Bus Ducking: Bound the player's real-time health value to a Wwise RTPC that progressively accelerates and amplifies a diegetic heartbeat loop as health drops. Simultaneously, the RTPC applies a low-pass muffle filter and ducks the volume of non-player audio buses and music, providing an unmistakable low-health warning without looking at the HUD.
- Surface Material Switches: Configured Wwise Switches triggered by ground surface tags (
Sandvs.Metal) to swap footstep and landing random containers dynamically as the player moves between Martian dunes and interior base structures. - Enemy Destruction Stingers: Implemented Wwise Triggers that fire musical stingers quantized to the active combat music segment whenever a robotic enemy is destroyed.
3. Soundbank Memory Optimization

- Strict Memory Budgeting: Managed WAV sample rates, Vorbis/ADPCM conversion settings, and soundbank asset scoping to compile the entire project's audio footprint to 56MB, staying cleanly under the strict 60MB platform memory ceiling.
4. Original Foley Recording
- Recorded, edited, and processed custom organic and mechanical audio sources for player footsteps, jump/land impacts, damage grunts, mechanical click, and UI interactions to give the project a distinct sonic identity.
Direct Impact
- HUD-Independent Player Awareness: The RTPC low-health bus ducking, directional enemy alert cues, and combat music stingers allowed players to read combat danger and health status purely through audio feedback.
- Memory-Compliant Delivery: Delivering the full adaptive music and SFX suite at 56MB/60MB ensured zero memory-budget overruns on PC target builds.