Godot 4.2 integration of FMOD. Not feature-complete yet.
This branch targets the latest stable Godot release (4.2.x) and FMOD 2.02.
- Clone
godot
and switch to 4.2:
git clone https://github.com/godotengine/godot
cd godot && git checkout tags/4.2-stable
- Clone
fmod_gd4
into Godot'smodules/
folder.
cd modules && git clone https://github.com/summertimejordi/fmod_gd4
- Download FMOD Engine 2.02+
- Copy FMOD API folders to the
api
folder in thefmod_gd4
module. - Compile Godot
Not done yet! Your newly built version of Godot will need to have the following libraries included in the same folder as it.
Locate the libraries by navigating to the api
folder you copied into the module path.
You will need:
The Fmod library located in core/lib
, and the Fmod Studio library located in studio/lib
.
You'll see folders named after the architecture they're designed for. (x86 for 32-Bit, x64 for 64-bit, and arm for Mac Sillicon)
On Windows:
Copy fmod.dll
and fmodstudio.dll
to your Godot location. FMOD
On Mac and Linux:
Copy libfmod.so
and libfmodstudio.so
to your Godot location.
If you'd like to enable debugging/logging for FMOD, copy the FMOD libraries that end with a capital 'L'. These are the Logging releases of FMOD.
This process can be confusing. Create an issue for further support!
- Configure FMOD by visting
Project Settings/Fmod
- To add banks to be loaded, navigate to the bank in the FileSystem tab, and enable
Autoload
in the inspector. - Create event instances using
Fmod.create_event_instance(String event_path, bool autoplay, bool oneshot); # Returns FmodEventInstance
- Or:
FmodEventInstance.create(String event_path);
Fmod.play(String event_path); # Returns FmodEventInstance
- Singleton and Autoinitialization
- Playing events and loading banks
- Get VCAs
- Banks as resources
- Editor cache of Master.strings to use for FmodEventInstance editor plugin
- FmodEventInstance editor plugin