fmod-gdextension icon indicating copy to clipboard operation
fmod-gdextension copied to clipboard

Investigate steps required to become the official FMOD plugin for Godot

Open bitbrain opened this issue 2 years ago • 7 comments

Unity is already featured on the FMOD page: https://www.fmod.com/resources/documentation-unity?version=2.02&page=welcome.html

Investigate what we'd need to do to transform this project into an official FMOD plugin for Godot.

This could allow us to legally access the FMOD binaries and sign them, for example, and then bundle that up for people to use. This repository here would not contain the bundle but instead, the plugin would be available on the FMOD asset store.

bitbrain avatar Mar 12 '22 08:03 bitbrain

Here is an existing thread about godot integration: https://qa.fmod.com/t/how-does-fmod-integrate-with-godot/16130 Also answer from fmod sales about distributing dynamic libraries:

Hi Pierre,

You are able to redistribute the fmod dlls, but typically not the headers/libs, which I assume doesn’t help your case and I’m guessing you want those included as well.

The only issue we have with distribution like this is something in a store is typically not updated in line with our releases, and the binaries get stale.  This can lead to old versions being used which possibly known bugs, which can reflect badly on the product from our side.

So it seems it is "we will not support it if it is not made by us".

piiertho avatar Mar 12 '22 09:03 piiertho

Hi, FMOD developer (not sales) here. I just wanted to clarify - where would you like to distribute the plugin? The first comment above says "on the FMOD asset store" - would you want users to download it from the FMOD website?

benbatt avatar Jul 29 '22 00:07 benbatt

Hello @benbatt @bitbrain idea was to try to make it an official fmod plugin, downloadable from fmod website, on this I can understand this can be not compatible with your company rules. On my side few years ago I wanted to be able to distribute the fmod dynamic libraries within our plugin, so that we can distribute an addon on Godot store without the need to copy those dll for developers.

piiertho avatar Jul 29 '22 07:07 piiertho

Interesting, thanks for the information! I'll ask around and see if the company position on this has changed at all.

benbatt avatar Jul 29 '22 10:07 benbatt

OK, I have asked around, and unfortunately to host it on the FMOD website we would need to be able to test and maintain the plugin on a regular basis, which is not something we currently have the resources for. Sorry!

Is there an issue with the FMOD .dylib files being unsigned? Game developers usually sign them along with the rest of their game, but perhaps that is not possible in this case?

benbatt avatar Aug 13 '22 06:08 benbatt

Fmod libraries being unsigned is not a problem, Godot exports will sign them.

What I’d like is to be able to deliver those dynamic libraries in our releases. This would enable us to deliver a plug and play addon for Godot.

EDIT: For signing this does not cause problems only with exports, IIRC gdnative (and new gdextensions) codesign libraries when exporting.
Where it can be a problem is when using in editor, because at this moment, libraries are not signed.

piiertho avatar Aug 13 '22 07:08 piiertho

@benbatt for context: currently, people cannot just simply "plug & play" FMOD with Godot. They can download this extension here but they'd need to grab the FMOD dynamic libraries themselves and compile this extension themselves.

Our idea is to do that for them somehow, however, due to licensing we cannot simply download and package these dynamic libraries for them. If there was a way or exception for us specifically to do this, that would already be a massive step forward.

In regards to unsigned dynamic libraries: this becomes an issue, especially when developing on MacOS - users simply won't be able to open up projects using this addon unless they explicitly go into the security settings of their OS and ignore the unsigned FMOD libraries.

bitbrain avatar Aug 13 '22 19:08 bitbrain