I’m not aware of any reason why that would not work.
Most FMOD functions will return a FMOD.RESULT, which if it fails will give you an indication as to why.
You could also check the fmod log (found in the menu FMOD/Log Viewer).
Thanks for the help. I’ve figured it out. I had another function on update doing a setVolume(1) to all audio sources every frame, so it just kept reverting…my bad!
I’m having a very similar issue. Except I don’t have any other setVolumes happening, and when I check the volume afterward via getVolume, it did save the setting, except it’s still playing at full volume.
What is the value range you are passing into setVolume? Have you tried checking the results to see if the getVolume and setVolume calls are passing? i.e
void UpdateVolume()
{
busVolume = PlayerPrefs.GetFloat("BGMVol", 0.5f);
FMOD.RESULT result = bus.setVolume(busVolume);
if (result != FMOD.RESULT.OK) Debug.Log("Failed to set volume!");
result = bus.getVolume(out currentVolume);
if (result != FMOD.RESULT.OK) Debug.Log("Failed to set volume!");
Debug.Log(busVolume);
Debug.Log(currentVolume);
}