Is there any word on how easy it is to integrate FMOD with Unity3D for use on windows/mac (prototype) and iPhone (prototype/deploy)?
http://forum.unity3d.com/search.php?mode=results has a few results but in general seems vague answers, esp this one from Unity producty evangelist
http://forum.unity3d.com/viewtopic.php? … light=fmod
"FMOD in Unity?
We’ve stated that we’re interested in switching to FMOD in the future but that’s only been rough and vague guidance for now, we really don’t have anything specific to share as to when that might happen."
- sonicviz asked 9 years ago
There is no official FMOD API integration for Unity, these is an unofficial one created by Square Tangle: http://www.squaretangle.com/FMODUnity.html. As far as I know it only works for Windows and Mac standalone. Internally Unity uses FMOD for all of it’s audio so it may be worth requesting to have additional FMOD features exposed.
I just integrated FMOD into our Unity3D project. We integrated the "missing" FMOD Event System, and it’s a lot of work.
I don’t have time to write a detailed tutorial, so I’ll just hover above the main points:
1- Download the API from FMOD’s site and place the fmodex.dll and fmod_event.dll in a "Plugins" folder inside your project. This way it will be bundled in your builds.
2- The c# wrapper bundled in the API works fine. You may need to change a few things here and there for convenience, nothing major.
3- You must write a robust initialization routine. Check the bundled examples for a headstart.
4- To streamline our sound designer’s workflow, we always load his soundbanks when we press "Play" in Unity’s Editor (so he can change the sound project, build it and test right away). This means that you must initialize and release FMOD carefully inside the Editor to reload everything.
5- Unity only allows you to reliably access file resources through the Resources folder and related API. This means that you must load the soundbanks into memory and then pass them to FMOD using System.createSound with OPENMEMORY followed by EventSystem.preloadFSB. For added performance, you can use OPENMEMORY_POINT, but it’s a bit little more involving.
6- Don’t forget to call EventSystem.update once or twice per frame. We had to adjust the DSP buffers (with setDSPBuffers) because the latency was too high. This led to some distortion under low FPS. The trick is to call EventSystem.update during the regular Update and during one of the rendering messages (OnPostRender or OnPreCull) too.
If you have other questions, I’ll be glad to help. Good luck.
It might be possible to use FmodEx Event in iOS.
Those could lead you to an answer:
I just saw your post about fmod for Unity.
Were you able to get anything to work like that? Write a plugin for Unity perhaps?
I need fmod to get to run with Unity for a customer project and so far I really have problems getting anything to work.
Any help would be highly appreciated.
- taar1 answered 7 years ago
Please login first to submit.