After porting our game to Android, we noticed that FMOD alone cause about 66% of the memory footprint of our game. Now, our bank is quite large (300Mb for the mobile version) but the whole point of the StreamingAssets folder is to read the content without loading it all in memory, in fact, removing FMOD altogether save us about 575Mb, that’s a lot of memory, considering we use about half that for the whole application on IOS.
We updated to the latest version, quite a few change occurred, which were welcome, but the memory stayed at 850mb total on startup. Is making separate bank for different part of the game the only way to reduce the memory? What am I missing there.
You can set up a separate Mobile platform in the Studio tool which will allow you to set up mobile specific compression settings.
For simplicity of getting started, the default behavior of the Unity integration is load all Banks up front (but without sample data). To get that much memory consumed it sounds like you’ve turned on sample loading at startup as well. You can turn of loading of sample data, and if you find specific events have too much latency you setup only those to be preloaded.
There’s nothing special about StreamingAssets folder that implies you’ll magically get better memory usage.
You can split your content over multiple banks, turn off “load all banks at startup” in the FMOD settings, and use the bank loading component to control your memory usage. You can turn on streaming for longer sounds (music, dialogue) in the Asset Bin of studio.