Audiokinetic's Community Q&A is the forum where users can ask and answer questions within the Wwise and Strata communities. If you would like to get an answer from Audiokinetic's Technical support team, make sure you use the Support Tickets page.

+1 vote

Every time I run my project in Unity, I see a ton of Wwise: Insufficient memory in pool: Monitor errors. Many many many errors.

I followed these steps -- to connect the Wwise advanced profiler to my Unity build. I can plainly see that the Monitor pool has 249.6 KB reserved, and has used 249.6 KB -- so there is no memory left. I am also seeing in my errors an "Attempted alloc size" of 29 bytes (when running in Unity) and sometimes 1024 bytes (when running with the Wwise profiler attached). It is clear the Monitor pool is maxed out. Why is it not auto-increasing? How do I increase it?

Does anyone know how to increase the size of the Monitor memory pool in Unity?

I note here that -- when calculating memory usage -- one should "Subtract the size of the Communications, Monitor, and Monitor Queue memory pools. These pools contain debug-only allocations which are not created in the Release version. Subtracting the size of these pools should give you a good idea of the release-version memory usage."  My questions to this are:

  1. how to make a Release version? no matter how I bulid in Unity, I get these errors, and don't see a "Release" setting. does any one know where this is?
  2. how is someone supposed to debug with these errors? I would like to be able to make clean, error-free Debug builds.
My deep Google search around this issue found this page -- with a CryEngine-specific s_WwiseMonitorMemoryPoolSize setting. Despite much searching through the Wwise/Unity code base I cannot find such a thing for Unity.
 
please help!

 

in General Discussion by Steven S. (110 points)
So I figured out that you can make a Release version by, in Unity, going to Assets / Wwise / Activate Plugins / Release

The Release build doesn't show these errors but, then again, I can't profile it so I think it's just because the monitoring is disabled for Release.

Anyway I'd still like to increase the size of the Monitor pool because I'm trying to debug *another* issue and this Monitor pool maxing out is getting in the way. Also, I'd like to develop in Profile (as opposed to Release mode) so I can catch further errors and it sucks that my Unity log is flooded with these Monitor errors in Profile mode. Please help!

1 Answer

+1 vote

Hey, even though this question is fairly old, it's still pretty high on google results and I couldn't find a solution to a similar problem myself, so I've decided to dig around the code a bit.

Managed to find a fix by inspecting WwiseGlobal object with a Debug Inspector, which reveals monitorPoolSize attribute (also monitorQueuePoolSize) of the AkInitializer class. These values are also meant to be entered in kBs and increasing them fixed all the insufficient memory warning problems for me. The reason it's hidden is the custom inspector (AkInitializerInspector), that is used to "sync" WwiseGlobal objects among all the scenes, does not show these attributes, neither does it serialize and sync them with other WwiseGlobal objects, so keep in mind to increase them manually on all the scenes you start the game in or modify the custom inspector to also serialize them.

Hope this helps someone with similar problems.

by Oliver K. (160 points)
...