informa
4 min read
article

Fmod Studio Live Update on Mobile

Live connecting Fmod Studio to your mobile device allows you to mix your game directly on it´s targeted platform, as well as profiling and troubleshooting more efficiently (and some other cool stuff).

Connecting Fmod Studio to a mobile device is a dream come true for those of us working on mobile games. But it is something that I´ve found surprisingly tricky to do due to a lack of clear and concise information online, so when I finally got it to work I decided to share my findings in the hope that it will help other people to do the same.

Integrating Fmod Studio in Unity 5

I´ll start by saying that I´ve only been able to do this using Unity 5. I don´t know if the same process will work in any other engine, but for Unity 5 it works just fine.

I won't go into much detail about how to integrate Fmod Studio with Unity because that would be an entirely different blog post and you can find great documentation and video tutorials about it online.
But here are some things you´ll need:

  • Fmod Studio version 1.06 (or any other version after that)
  • Fmod Studio Unity integration package (it has to be the exact same version as your Fmod Studio)
  • And Unity 5 off course

After importing the integration package into Unity and setting up your Fmod banks, you´re good to go.

Connecting Fmod Studio to your Mobile Device

So, you got your banks set up in Unity and everything is looking good. Now for the cool part!
First, you´ll need to add the flag "FMOD_LIVEUPDATE" to your Unity scripting define symbols. To do this, in Unity, you can go to "File > Build Settings > Player Settings", click on Other Settings, scroll down to the Scripting Define Symbols and add the flag there. If you already have other flags you can separate them with a semicolon.

Add your flag to Unitys Scripting Define Symbols



 

 

 

 

 

 

 

 

 

 

 

 

 

After the flag is added you can already live connect Fmod to Unity to see if everything is working fine so far. Run your game, go to Fmod and press F5 ("Connect to Game"). Enter "localhost:9265" (starting with Unity 5 you have to specify a port, but it´s always 9265), press connect and if you see Fmod turning red you are now connected to your game!

To get this to work on mobile you´ll have to build your game for your target platform with the "FMOD_LIVEUPDATE" flag present. You can do this in Unity by going to "File > Build Settings > Build", after the build is done install it in your mobile device.

You´ll then need your devices IP adress, check here to learn how to get it on iOS and here in Android. Now, run the game and to the same steps you did to connect Fmod to Unity. You´ll just need to change the IP adress on the "Connect to Game" window to the one of your device.

If you did everything right, Fmod will turn red and you´ll be connected to your game. If not, try and deselect "Auto-reconnect". I think this is a Fmod bug (at the time of writing I´m using version 1.06.08) and it won´t work if Auto-reconnect is switched on.

Final Considerations

Being able to control the sound of your game while you play it is just the coolest thing ever. It makes the job of mixing your game a lot easier, and you have a much better idea of how it will sound across millions of devices.

You can also run the Fmod profiler while you play the game and get detailed data about how your game is behaving soundwise (CPU, memory, levels, voices, etc), this is immensely helpful when you´re trying to troubleshoot some problems you might have.
To finish things off, here are some final tips to keep in mind:

  • Don´t forget to add the "FMOD_LIVEUPDATE" flag to every platform that you´re doing the game for (Android, iOS or Windowns Phone);
  • Both your device and the computer that´s running Fmod have to be connected to the same network;
  • Your Fmod version and the Unity integration package have to be the exact same version (so if you are running Fmod Studio v1.06.08 you´ll need v1.06.08 of the integration package);
  • Always start your game before trying to connect to it;

And here´s a video of my excited self right after I got it to work.

 

I hope this helps others to do the same thing, and if you have any questions don´t hesitate do leave a comment or get in touch through twitter @dainomyte.

Lastly, I would like to thank the programmers over at Bica Studios that helped me in getting this to work (don´t forget: programmers are your friends!).

Latest Jobs

Treyarch

Playa Vista, California
6.20.22
Audio Engineer

Digital Extremes

London, Ontario, Canada
6.20.22
Communications Director

High Moon Studios

Carlsbad, California
6.20.22
Senior Producer

Build a Rocket Boy Games

Edinburgh, Scotland
6.20.22
Lead UI Programmer
More Jobs   

CONNECT WITH US

Register for a
Subscribe to
Follow us

Game Developer Account

Game Developer Newsletter

@gamedevdotcom

Register for a

Game Developer Account

Gain full access to resources (events, white paper, webinars, reports, etc)
Single sign-on to all Informa products

Register
Subscribe to

Game Developer Newsletter

Get daily Game Developer top stories every morning straight into your inbox

Subscribe
Follow us

@gamedevdotcom

Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more