Compiling from sources
June 22, 2026 · View on GitHub
Clone project with --recurse-submodules.
Typical Project structure
└── Project root
├── libs
| └── fmod
| └── {platform}
| └── specific platform fmod api goes here
└── fmod-gdextension (this repo, consider using it as a submodule of you GDExtensions repo)
├── CMakeLists.txt (Here for CLion)
├── LICENSE
├── README.md
├── SConstruct (here to build on Windows, Linux, OSX and IOS
├── godot-cpp (gdextension bindings, submodule)
└── src
You are supposed to put fmod libraries under libs/fmod/{platform}, according to the platforms you want to support.
libs folder should be a brother to plugin repo in hierarchy.
CMakeLists is here for CLion ide, as we are used to JetBrains tools. Unfortunately, CLion does not currently support
Sconstruct.
Compiling
In order to compile you should run scons command, as for all gdextension projects.
scons platform=<macos|linux|windows|ios|android> target=<editor|template_debug|template_release> --jobs=<desired number of threads>
If target is editor or template_debug, debug symbols will be generated.
Additional Instructions
On Windows, you need to pass the arch argument with values x86_64 or x86_32.
Example:
scons platform=windows arch=x86_64 target=editor
You can also specify the FMOD directory as an argument, so you don't need to place the libs outside the project root.
Example:
scons platform=windows arch=x86_64 target=editor fmod_lib_dir=libs/