FMOD Core API audio playback, mixing, DSP, and 3D spatial tools for Godot 4.
A Godot 4 GDExtension plugin for developers who want low-level FMOD playback
without giving up Godot-style nodes, resources, buses, inspectors, and editor workflows.
Godot-FmodPlayer is built around the FMOD Core API, not FMOD Studio. It is aimed at projects that need direct control over sounds, channels, channel groups, DSP graphs, streamed audio, 3D spatial playback, and runtime mixing.
Use it when you want:
- FMOD's mature decoder, mixer, and DSP runtime inside Godot.
- Godot-friendly nodes such as
FmodAudioStreamPlayer,FmodAudioStreamPlayer2D, andFmodAudioStreamPlayer3D. - Editor tools for importing, previewing, inspecting, and testing FMOD audio resources.
- A bus layout that follows Godot's
AudioServerwhile routing playback through FMOD. - Advanced 3D audio features such as geometry occlusion and spatial reverb zones.
Looking for FMOD Studio event/bank workflows? This project intentionally focuses on FMOD Core API. For Studio API integration, see fmod-gdextension.
- Import audio as FMOD stream resources directly in the editor.
- Preview FMOD audio resources from the inspector.
- Use custom icons, 3D gizmos, and editor tools for FMOD nodes.
- Configure FMOD system options from
Project Settings. - Use a helper tool to prepare Android export templates for FMOD runtime files.
- Play common FMOD-supported formats: MP3, WAV, OGG Vorbis, FLAC, AIFF, MIDI, MOD, XM, S3M, IT, and more.
- Load from
res://,user://, absolute file paths, memory buffers, and Godot PCK resources. - Choose streaming or sample loading modes depending on memory and latency needs.
- Use advanced stream settings for special formats, subsounds, tracks, and FMOD create flags.
- Synchronize FMOD buses with Godot's audio bus layout.
- Route players to named buses.
- Use channel groups and sound groups for grouped playback control.
- Adjust volume, pitch, pan, mute, solo, bypass, and DSP parameters at runtime.
- Monitor FMOD CPU and file usage in Godot's Performance panel.
Godot-FmodPlayer includes FMOD-backed effects designed to feel familiar to Godot users:
| Effect | Use Case |
|---|---|
| Amplify | Gain and volume adjustment |
| Filter | Low-pass, high-pass, band-pass filtering |
| EQ / EQ6 / EQ10 / EQ21 | Graphic and multi-band equalization |
| Chorus | Modulated stereo thickening |
| Delay | Echo, taps, and feedback delay |
| Distortion | Drive, clipping, and saturation |
| Phaser | Sweeping phase modulation |
| Pitch Shift | Real-time pitch manipulation |
| Reverb | Godot-like room reverb mapping |
| Compressor | Dynamic range compression |
| Hard Limiter | Peak control |
| Stereo Enhance | Stereo width shaping |
| Panner | Stereo positioning |
| Spectrum Analyzer | Real-time frequency visualization |
| Capture | Runtime sample capture |
| Record | Bus recording and waveform snapshots |
FmodAudioStreamPlayer3Dfor spatial playback.- Listener updates from the active Godot camera.
- Distance attenuation and rolloff controls.
FmodGeometryInstance3Dfor FMOD geometry occlusion.- MeshInstance3D editor tools for quickly creating FMOD geometry.
FmodReverbZone3Dfor localized environmental reverb.- Editor gizmos for spatial audio debugging.
Recommended: install Godot-FmodPlayer from the Godot Asset Library:
Godot Asset Library - Godot-FmodPlayer
You can also download a release from GitHub or build the GDExtension from source if you need the latest development version.
Open your Godot project and enable:
Project > Project Settings > Plugins > FMOD Player
Add one of the player nodes:
FmodAudioStreamPlayerFmodAudioStreamPlayer2DFmodAudioStreamPlayer3D
Assign an FMOD audio stream resource, choose a bus, and press play.
| Platform | Status | Notes |
|---|---|---|
| Windows x86_64 | Supported | Main development target |
| Android arm64 / arm32 / x86 / x86_64 | Supported | Requires FMOD Android runtime setup |
| macOS | Experimental | Build script support exists, FMOD linking may need local adjustment |
| iOS | Experimental | Static library workflow may need project-specific setup |
- Godot: 4.1 or later
- Language: C++17 or newer
- Windows compiler: Visual Studio 2022 / MSVC v145+
- Android compiler: Android NDK
- Build system: SCons
- Audio runtime: FMOD Core API SDK
Full documentation is available here:
godot-fmodplayerdocs.readthedocs.io
The documentation includes setup guides, API references, usage examples, and platform-specific export notes.
This repository is licensed under the MIT License. See LICENSE.txt.
FMOD is proprietary software by Firelight Technologies Pty Ltd. You must obtain the appropriate FMOD license for your project from fmod.com.
- FMOD by Firelight Technologies Pty Ltd
FMOD is a trademark of Firelight Technologies Pty Ltd.
This plugin is not officially affiliated with or endorsed by Firelight Technologies.
