We’re exploring Unity 6 as a potential upgrade for us as it brings some interesting features. Most notably, for our player base on browsers, Unity 6 introduces WebAssembly threads for multithreading support.
It seems like this isn’t supported yet in the available FMOD version. Is this something that could be added? It would greatly enhance the web player experience as those users are stuck on a single thread so any hiccup immediately causes stutter in their audio.
I would like to +1 this. It would be nice to have as currently we cannot even use the “Enable Native C/C++ Multithreading” build setting as that will fail since FMOD doesnt support it:
fmod_file.o because it was not compiled with 'atomics' or 'bulk-memory' features
Hello !
Do you have any news about this feature ? It’s really going to be the deciding factor as to whether we use FMOD or another solution for our games
Similar case here. Currently getting this with emscripten:
wasm-ld: error: --shared-memory is disallowed by fmod_pluginfactory.o because it was not compiled with ‘atomics’ or ‘bulk-memory’ features.
If there’s any early adapter mail list or something, please add us there. Would love to get this asap to our product
Currently, we are using the default audio solution in Unity, but we plan to redo the entire sound design of the game. The multithreading feature will be essential for us to decide whether to adopt FMOD, especially since the networking framework we are using already supports multithreading(web).
I would also like to be added to the list to receive further updates.
This has now been added to our upcoming development roadmap, though we don’t yet have a confirmed release timeline. I have added you to the list, so you will be notified as soon as it becomes available.
The task is on our backlog, and it’s actively being tracked. We don’t have an estimated release date yet, but we’ll update this thread as soon as there’s progress to share.
Can I join the list of people being notified? I’m also interested in this feature. We’re porting our game to webGL and have music that plays in between level loads that stutters the first time any level loads. Doesn’t seem to matter how large we make the buffer.
Hi, I tested this with FMOD for Unity / Engine 2.03.12 and Unity 6000.3.6f1 (Unity Emscripten 3.1.39).
The Engine 2.03.12 HTML5 SDK contains fmodstudioP_wasm.a and fmodstudioPL_wasm.a. Both pass Unity’s wasm-ld shared-memory probe without --no-check-features, and the release archive exposes the same 385 public FMOD5_* symbols as the existing Unity archive.
However, substituting the pthread archive at the Unity integration’s existing libfmodstudio.a path and enabling Web threads fails the final player link with duplicate low-level FMOD symbols against Unity’s multithreaded WebGLSupport_UnityPlayer.AudioModule_Dynamic.a(PlatformDependent_WebGL_Source_Fakemod_0_2xnx2.o). For example, FMOD_Memory_GetStats and FMOD::SystemI::setSoftwareChannels(int) are defined by both.
The reason appears to be that the existing Unity archive renames its internal engine namespace/symbols to FMODZ, while the standalone Engine pthread archive uses ordinary FMOD symbols. Unity audio is already disabled (m_DisableAudio: 1).
Could FMOD provide Unity-compatible WebGL pthread archives for 2.03.12, release and logging, compiled for Emscripten 3.1.39 and using the same internal symbol prefixing as the Unity libfmodstudio.a / libfmodstudioL.a archives? Or can you confirm that the standalone pthread archives are not intended to support FMOD for Unity yet?