Unity WebGL Development Build returns errors only once FMOD is added

I’ve tested this with a completely new project and the issue still pertains.
Unity Development Build for WebGL returns these 3 errors every time I try and build it only once adding FMOD. The WebGL build works perfectly fine otherwise, all code is doublechecked and I tried deleting everything and building it on Desktop, as well as changing its name to simple characters, all to no avail.
I’m using Unity 2019.4.12f1 and FMOD 2.01. I’ve tried it with different FMOD versions but not with different Unity versions as I need this one explicitly.
The build seems to stop at “Compile WebAssembly module…”.

The errors are :
Failed running "D:/Unity/2019.4.12f1/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/Emscripten_Win/python/2.7.5.3_64bit\python.exe
Exception: Failed building WebGL Player.
UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002bb] in :0
at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in :0
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Are you able to share more of the console log at all?
2.01.04 fixed a couple of issues with HTML5 if you haven’t already tried that version.

Hi Cameron,
Thanks for getting back to me. I tried with 2.01.04 with a completely new project and it still didn’t work. Once again stuck on “Compile WebAssembly module” before returning the errors. This is still Unity 2019.4.12f1, and again works completely fine with Development Build turned off. Here are the full error logs:

Failed running “D:/Unity/2019.4.12f1/Editor/Data/PlaybackEngines/WebGLSupport\BuildTools\Emscripten_Win\python\2.7.5.3_64bit\python.exe” -E “D:/Unity/2019.4.12f1/Editor/Data/PlaybackEngines/WebGLSupport\BuildTools\Emscripten\emcc” @“D:\A_University_Work\MSc\IS71030B_Introduction_To_Programming_1\New Unity Project\Assets…\Temp\emcc_arguments.resp”

stdout:
stderr:warning: unexpected number of arguments 1 in call to ‘__cxa_pure_virtual’, should be 0warning: unexpected number of arguments 2 in call to ‘_ZN6il2cpp6icalls8mscorlib6System6String22RedirectToCreateStringEv’, should be 0warning: unexpected number of arguments 4 in call to ‘_ZN6il2cpp6icalls8mscorlib6System6String22RedirectToCreateStringEv’, should be 0warning: unexpected number of arguments 5 in call to ‘_ZN6il2cpp6icalls8mscorlib6System6String22RedirectToCreateStringEv’, should be 0warning: unexpected number of arguments 4 in call to ‘_ZN6il2cpp6icalls8mscorlib6System6String22RedirectToCreateStringEv’, should be 0warning: unexpected number of arguments 2 in call to ‘_ZN6il2cpp6icalls8mscorlib6System6String22RedirectToCreateStringEv’, should be 0warning: unexpected number of arguments 3 in call to ‘_ZN6il2cpp6icalls8mscorlib6System6String22RedirectToCreateStringEv’, should be 0error: unresolved symbol: FMOD5_Thread_SetAttributesAborting compilation due to previous errors | undefinedTraceback (most recent call last): File “D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emcc.py”, line 3063, in sys.exit(run()) File “D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emcc.py”, line 1780, in run final = shared.Building.emscripten(final, append_ext=False, extra_args=extra_args) File “D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\tools\shared.py”, line 2274, in emscripten emscripten._main(cmdline) File “D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py”, line 2233, in _main return temp_files.run_and_clean(lambda: main( File “D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\tools\tempfiles.py”, line 93, in run_and_clean return func() File “D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py”, line 2238, in DEBUG=DEBUG, File “D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py”, line 2164, in main temp_files=temp_files, DEBUG=DEBUG) File “D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py”, line 86, in emscript glue, forwarded_data = compiler_glue(metadata, libraries, compiler_engine, temp_files, DEBUG) File “D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py”, line 218, in compiler_glue glue, forwarded_data = compile_settings(compiler_engine, libraries, temp_files) File “D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten.py”, line 541, in compile_settings cwd=path_from_root(‘src’), error_limit=300) File “D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\tools\jsrun.py”, line 132, in run_js raise Exception('Expected the command ’ + str(command) + ’ to finish with return code ’ + str(assert_returncode) + ', but it returned with code ’ + str(proc.returncode) + ’ instead! Output: ’ + str(ret)[:error_limit])Exception: Expected the command [‘D:/Unity/2019.4.12f1/Editor/Data\Tools\nodejs\node.exe’, ‘–stack_size=8192’, ‘–max-old-space-size=4096’, ‘D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\src\compiler.js’, ‘C:\Users\Prince\AppData\Local\Temp\tmpvu1t_w.txt’, ‘D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\Audio.js’, ‘D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\Cursor.js’, ‘D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\Eval.js’, ‘D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\FileSystem.js’, ‘D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\Logging.js’, ‘D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\Profiler.js’, ‘D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\SystemInfo.js’, ‘D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\UnetWebSocket.js’, ‘D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\Video.js’, ‘D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\WebCam.js’, ‘D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\WebRequest.js’, ‘D:\Unity\2019.4.12f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\src\library_pthread_stub.js’] to finish with return code 0, but it returned with code 1 instead! Output: // The Module object: Our interface to the outside world. We import// and export values on it. There are various ways Module can be used:// 1. Not defined. We create it here// 2. A function parameter, function(Module) { …generated code… }// 3. pre-run appended it, var Module = {}; …generated
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Exception: Failed building WebGL Player.
UnityEditor.WebGL.ProgramUtils.StartProgramChecked (System.Diagnostics.ProcessStartInfo p) (at /Users/bokken/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/ProgramUtils.cs:48)
UnityEditor.WebGL.WebGlBuildPostprocessor.EmscriptenLink (UnityEditor.Modules.BuildPostProcessArgs args, System.Boolean wasmBuild, System.String sourceFiles, System.String sourceFilesHash) (at /Users/bokken/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:445)
UnityEditor.WebGL.WebGlBuildPostprocessor.LinkBuild (UnityEditor.Modules.BuildPostProcessArgs args) (at /Users/bokken/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:495)
UnityEditor.WebGL.WebGlBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at /Users/bokken/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:933)
UnityEditor.Modules.DefaultBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at :0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at :0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Build completed with a result of ‘Failed’ in 234 seconds (234371 ms)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002bb] in :0
at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in :0
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Thanks for the information, we have found the issue that is causing this and fixed it for the next release (which is due to be out at the beginning of next month).