Hi all,
SquareTangle has released FMOD for Unity a free .NET Plugin to use FMOD (sound system) with Unity. It works with Indie and Pro, Mac and Windows version 2.5.
This is a .NET Assembly so will work on Indie as well as Pro versions of Unity.
FMODUnity works with both the low level Ex and Event systems. (for us anyway )
You can download it from http://www.squaretangle.com/FMODUnity.html
Thereās a demo unity project, library binaries, as well as source code if anyone is interested in how to make a c# .NET plugin using cross platform libraries.
It is not heavily tested yet, let us know how it works for you.
see the demos for basic usage.
enjoy
johnny tangle
edited to avoid confusion regarding the āpluginā word. This is a .NET assembly.
one of the main features of fmod is the fmod designer front end which allows sound designers to construct and audition their sound designs without programming. the results can then be passed on to the programmers (or designer/programmer) for easier integration into the engine. can make life easier for both designers and programmers. fmod has interfaces for many platforms (computer, console, handheld) making porting the sound between platforms potentially easier.
Others on the forum with more experience with fmod than me might be able to add their thoughts.
see also http://www.fmod.org/index.php/products/designer
Interested in this. Just wondering what license is required? Is it the $500 iPhone license? If so I guess itās going to need some pretty good justification over the Unity inbuilt.
This wouldnāt work on the iPhone. Plugins are only available on standalone Mac and PC platforms at the moment.
You would need to get a FMOD license for distributing your product depending on its size. FMOD license pricing is here for commercial products. For non-commercial products FMOD is free to use.
Thanks for the info. I was aware of FMOD, and that it is used a fair bit in the games industry. I met some of the guys that work on it a couple of years back at GCAP and the product looked really impressive.
I guess what it comes down to is the money you need to spend on extra licencing going to reduce costs in other areas (in this case sound design), and seeing as we donāt have any in house sound people yet, for us the in-built system will suffice. I will keep an eye on this though, as needs may change in the future.
There is some details of fmod for iphone here http://www.fmod.org/index.php/fmod/more/28
Currently $500 per title. I think that is what moondog was referring to.
I donāt have iphone for unity so canāt comment on usage.
The plugin is a .NET assembly. can iphone use .NET plugins?
And naturally the primary trouble area, support, as OpenAL is a piece of *****.
As free it is, as crappy it is. UT likely has invested masses of time and cash in fixing up OpenAL to what they are using, because its definitely not the regular free release, thats for sure (their version worked since 2.0 in 08 on Vista64, while the official release needed till june 2009 to finally stop locking on startup and alike)
I think if Unity finally replaces OpenAL with FMOD, its a win win for all
FMOD is good for creating sounds that reacts to game state, for example, carās engine sound reacting players accelerating. Some examples of FMOD use can be found from our Lies and Seductions (game available at www.liesandseductions.com and source code available at http://mlab.taik.fi/~plankosk/blog/?p=308).
In addition, you can use FMOD to model spatial sounds such as echos based on the space model (we have not tried this, though).
Youāre using terminology thatās confusing to Unity folks. āPluginsā in the Unity world are C/C++ libraries you link to that are only supported in Unity Pro and are only supported on the desktop (Mac/Win). Compare that with .NET assemblies that are supported in both Unity Indie and Unity Pro and on the desktop and the web. .NET assemblies are only partially/somewhat supported on the iPhone (in 1.1 things are improving there, notably if youāre using custom Objective-C code).
The main restriction with .NET assemblies on the iphone is .NET 1.1 and the maximum size of libraries to use.
You wonāt find many if any .NET assemblies that only require .NET 1.1, due to the simple fact that generics are a common and powerfull thing but require .NET 2.0 and thus are Unity iPhone incompatible.
The other thing is that with iPhone Basic, you donāt stand a real chance to be able to use them due to the total size of the libraries. You would require iPhone Advanced and be able to reduce the size enough through stripping to use it.
thanks tom. my bad.
I was naming according to the Extensions page on the unify wiki which calls both .NET assemblies and C/C++ dllās Plugins. ie. .NET plugin or Native Plugin.
Is .NET Plugin less confusing or .NET assembly better? I thought assembly might also be confusing.
anywho, we went the .NET assemby route specifically so it could be used in indie and pro on mac and win.
@dreamora. thanks for the info. sounds like it may be possible to get something working on iPhone. with some difficulty. youāve piqued my interest, i may have to download the iPhone SDK and have a look.
Personally, I think .NET assembly is the best term. While these are ādllsā according to their file extensions, they donāt have much in common with Win32 DLLs. So Iād call those either Mono assemblies or .NET assemblies (some people using Unity might not know that Mono more or less equals .NET, so I guess Mono assemblies might be easiest to understand for most, even if it may not be perfectly technically accurate). Also, I wouldnāt call them āpluginā because usually a plugin is something that plugs into some sort of plugin-framework, which is different from assemblies which basically are just libraries offering functionalities through an API.
That said: I doubt that FMOD can be fully made to work in a Mono/.NET-only assembly. Correct me if Iām wrong but Iād believe that FMOD requires some native code and the Mono assembly would just be a wrapper for that. In that case, it wonāt work in Unity iPhone. Also, in that case it wouldnāt work in the Web player. But Iāll be happy to be corrected if Iām wrong.
good point jashan. seems like web player and iphone donāt handle plugins or linking to external libraries. maybe soon on the iphone for unity.
At the moment FMODUnity works well for our productions which are all based on the desktop unity environment which gives us plenty of scope to work with. Hopefully it will provide some others with enhanced audio potential as well. If anyone tries it out weād really appreciate any feedback.
FMOD could be integrated into Unity iPhone using Unity 1.1ās native function calls (youād probably want to make a wrapper layer). I downloaded the FMOD for iPhone SDK and it looks pretty straightforward.
You can do some pretty fun things with FMod, like getting the spectrum, and trying some beat detection on that. I have been playing a few days with it, also to see if I could get polymorphism to work properly in Unity.
I will probably release it soon anyway, since I do not have a lot of time to spent on it. just a small hobby project next to all that serious game programming at work ;).
I would love to see some visualizations created by other people though. Spectrum data is a good source to create nice effects. I hope to be able to make a mesh ādanceā on the music, but Iām not sure I can pull it off time wise.
@Almar That looks great. Nice to see that you can get so much data back out of FMod. Love Unity but the audio side is very very weak.
@bliprod Almost certainly going to buy the next update to the enhancement pack. FMod support would make it even more essential. Think Iād finally make a music game with that combination