After weighing in our options, we decided to use FMOD for our game, so I tried to make a proof of concept that it can be integrated with Defold.
Defold FMOD is the result of that work. It’s still quite experimental, mainly because Defold doesn’t officially support dynamic libraries (DEF-2732).
Platform support is as such:
- macOS & Linux: It works
- Windows: It works, with a small workaround for running in the editor.
- iOS: It works
- Android: It (finally) works
- HTML5: It works
On Windows MSVC crashes when compiling LuaBridge (lol). Because of the above issues I think I’ll try compiling the bindings into a separate dynamic lib, which I will
dlopen() from the native extension. (Because fetching all the FMOD symbols this way would be a pain in the ass and it’s easier to make a lib, link it with FMOD and expose a few entrypoint symbols to the NE).
I’m not sure what to do about the MSVC crash, though. Maybe the above approach might work by virtue of compiling the module with another version of MSVC.