Skip to content

jordi-star/fmod_gd4

Repository files navigation

FMOD GD4 - Stable Branch

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.

Installation

  1. Clone godot and switch to 4.2:

git clone https://github.com/godotengine/godot cd godot && git checkout tags/4.2-stable

  1. Clone fmod_gd4 into Godot's modules/ folder.

cd modules && git clone https://github.com/summertimejordi/fmod_gd4

  1. Download FMOD Engine 2.02+
  2. Copy FMOD API folders to the api folder in the fmod_gd4 module.
  3. 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!

Usage

  • 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

Features:

  • 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