I’m diving into this for the first time and am having a hard time so would really like some explanations and help.
So, first of all, I have some annoying voice limit problems (which somehow do not happen in Unity, but only in builds), so would like to increase the limit. After searching documentation and forums I feel a bit overwhelmed, so my question is would this code be enough for that:
FMOD.Studio.System.create(out var sys);
sys.getCoreSystem(out var coreSystem);
Where should I be looking to confirm the change of the software channel limit? Somewhere in Profiler, I suppose?
What is the difference between setting this in code and via menu FMOD - Edit Settings - Platform Specific - Virtual Channel Count?
Yes, but only for events played through your newly created sys system object. Any FMOD Unity components would be playing through the RuntimeManager’s system object so this code would not affect them.
You can call System::getSoftwareChannels to see what the new software limit is. To see it in action you could try playing a large number of sounds and call System::getChannelsPlaying to see if channels is capping out at where you expect it to. Otherwise the profiler is a good option.
Adjusting the FMOD Unity Settings will change the value passed into the RuntimeManger’s system object at initialization time. Internally that is a call to System::setSoftwareChannels. Calling setSoftwareChannels yourself on the RuntimeManger’s system object will do nothing because setSoftwareChannels can only be called on an uninitialized system object.