Interactive Audio Sandbox

Controls: Hold W to accelerate; use the left and right arrow keys to switch ships. For the best experience, use headphones.

Listen for: engine pitch, mechanical strain, and the transition between idle and acceleration as RPM and Load change.

Audio signal flow: Unity player input → RPM + Engine Load → FMOD parameters → responsive engine layers.

Audio Sandbox

This playable prototype demonstrates how gameplay values shape audio in real time. Accelerating a ship changes RPM and Engine Load, which drive FMOD’s pitch, engine layers, and transitions.

The engine system is deliberately modular: different ships can share the same audio logic while having their own acceleration, resistance, and sound profiles.

This is the first experiment in an expanding audio sandbox where I prototype interactive systems and explore new ways for sound to respond to players.

Screenshot from the interactive spaceship audio sandbox
Unity spaceship controller setup

Controller Script

The core strength of this script is its modular design, allowing a single piece of code to power an entire fleet of distinct vehicles. By exposing key properties like acceleration timing, idle speeds, and maximum RPM directly in the Unity Inspector, I can tune the “feel” of the engine without rewriting logic. A heavy transport ship can be set to rev up slowly with high resistance, while a fighter jet can be tuned for instant responsiveness, all using the same underlying architecture.

Functionally, the script acts as a translator between the game’s physics and the audio engine. It monitors how the player is driving specifically looking at throttle input and acceleration and calculates real-time values for RPM and Engine Load. These values are then streamed directly to FMOD, which uses them to smoothly blend between different engine recordings. This creates a reactive, realistic audio simulation where the sound engine responds dynamically to the mechanical stress of the ship, rather than just playing a static loop.

FMOD

The FMOD event functions as a real-time sampler rather than a simple audio player. It listens for the RPM and Load data streamed from Unity to mix the engine sound dynamically. The RPM parameter controls the core mechanics, using “Autopitch” to smoothly bend the pitch and crossfade between idle, mid, and high-speed recordings without any audible breaks.

Simultaneously, the Load parameter adds texture. When the ship accelerates hard, the Load value rises, fading in layers of mechanical strain and exhaust rumble to match the physics. This architecture is entirely reusable; by simply swapping the source audio files, I can create a completely different ship profile while keeping the underlying mixing logic exactly the same.

FMOD engine sound design project screenshot

Credits

Design, Programming & Implementation: Deniz Tuglu

Sound Design: Deniz Tuglu (upcoming collaborators)

Visuals:

Reel

Divinity Redesign