Need an example unity project with FMOD scripts

Hi guys, I’ve been trying to figure out how to get started with FMOD scripting to do custom things such as ASIO and custom placed speaker number and locations but I can’t find how to get started on the scripting. I see a lot of bits and examples around for specific API calls but no complete project showing you how to initialize FMOD and what it’s relation is with FMOD Studio and FMOD for unity. I would love an idea on how to start adding these custom things.
Thank you so much in advance!

Hi,

To clarify the relation between FMOD, FMOD Studio, and FMOD for Unity - “FMOD” is comprised of the FMOD Studio application and the FMOD Engine/APIs. FMOD Studio is an application designed for authoring complex audio behavior to be played back in other contexts/applications, i.e. game engines. The FMOD Engine is comprised of two APIs - the Core API, which is an engine designed for various kinds of real-time audio processing and playback, and the Studio API, which is used to interact with and play audio content that was created in FMOD Studio. The Studio API is build on top of the Core API, and uses the Core API under the hood to play back the audio behavior that was designed in FMOD Studio.

The FMOD for Unity integration is, at its simplest level, a set of scripts that call into the Studio and Core APIs to create, initialize, and handle an FMOD Studio system object for you to interact with. The majority of the relevant code for this can be found in Assets/Plugins/FMOD/src/RuntimeManager.cs - system initialization can be found in RuntimeManager.Initialize(). If you’d like more self-contained examples, the “FMOD Engine” download from the FMOD Download page contains various simple examples for both Core and Studio API functionality. These are in C++, but besides a few language-specific things the code is mostly the same.

If you have questions regarding specific API features or issues that you’re running into, and looking at the examples doesn’t adequately address your questions, feel free to let me know so that I can help.

I got it! Thank you so much!

TLDR for others:
the FMOD for Unity plugin IS the ‘scripted’ version of FMOD. I just piggybacked on that system, made a new script, added “using FMOD; using FMODUnity;” and “RuntimeManager.CoreSystem.setOutput(OUTPUTTYPE.ASIO);” on start and it worked! I didn’t have to make my own CoreSystem or StudioSystem :smiley:

1 Like