# Build issue

**URL:** <https://qa.fmod.com/t/build-issue/22825>\
**Category:** Unity\
**Created:** [April 22, 2025, 7:50am UTC](https://qa.fmod.com/t/build-issue/22825 "2025-04-22T07:50:26Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![marko.ravnjak](https://avatars.discourse-cdn.com/v4/letter/m/c67d28/32.png) [@marko.ravnjak](https://qa.fmod.com/u/marko.ravnjak)\
**Post date:** [April 22, 2025, 7:50am UTC](https://qa.fmod.com/t/build-issue/22825/1 "2025-04-22T07:50:26Z")

</div>

Hi,  
we are using Unity 2022.3.60f1 and fmod 2.02.21. We are running builds on CirceCI and recently (maybe after Unity upgrade from 2022.3.22f1) our macos build started failing. IOS arcade builds are fine, but macos fails. After adding some logs, I’ve pinpointed the issue in the UpdateCache function, specifically to the:

INFO 2025-04-22 07:42:00.831 (t1) – FMOD: EventManager.UpdateCache: string bank is not valid: ../fmod-blast-park/Build/Mobile/Master.strings.bank, ERR\_INVALID\_HANDLE, An invalid object handle was used.  
FMOD: EventManager.UpdateCache: string bank is not valid: ../fmod-blast-park/Build/Mobile/Master.strings.bank, ERR\_INVALID\_HANDLE, An invalid object handle was used.

#0 GetStacktrace(int)  
#1 DebugStringToFile(DebugStringToFileData const&)  
#2 DebugLogHandler\_CUSTOM\_Internal\_Log(LogType, LogOption, ScriptingBackendNativeStringPtrOpaque\*, ScriptingBackendNativeObjectPtrOpaque\*)  
#3 (Mono JIT Code) (wrapper managed-to-native) UnityEngine.DebugLogHandler:Internal\_Log (UnityEngine.LogType,UnityEngine.LogOption,string,UnityEngine.Object)  
#4 (Mono JIT Code) [DebugLogHandler.cs:10] UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object)  
#5 (Mono JIT Code) [Logger.cs:139] UnityEngine.Logger:LogFormat (UnityEngine.LogType,string,object)  
#6 (Mono JIT Code) [Debug.bindings.cs:113] UnityEngine.Debug:LogFormat (string,object)  
#7 (Mono JIT Code) [EventManager.cs:201] FMODUnity.EventManager:UpdateCache ()  
#8 (Mono JIT Code) [EventManager.cs:33] FMODUnity.EventManager:RefreshBanks ()  
#9 (Mono JIT Code) [EventManager.cs:1105] FMODUnity.EventManager:BuildTargetChanged ()  
#10 (Mono JIT Code) [EventManager.cs:607] FMODUnity.EventManager/\<\>c:\<.cctor\>b\_\_15\_0 ()  
#11 (Mono JIT Code) [EditorUtils.cs:1712] FMODUnity.BuildStatusWatcher:SetBuildInProgress (bool)  
#12 (Mono JIT Code) [EditorUtils.cs:1739] FMODUnity.BuildStatusWatcher/BuildProcessor:OnPreprocessBuild (UnityEditor.Build.Reporting.BuildReport)  
#13 (Mono JIT Code) [BuildPipelineInterfaces.cs:499] UnityEditor.Build.BuildPipelineInterfaces/\<\>c\_\_DisplayClass16\_0:b\_\_1 (UnityEditor.Build.IPreprocessBuildWithReport)

We are using a single bank build setting for all apple platforms, so the same built banks work on arcade builds, but not on macos…

We are checking if it’s anything related to file access rights, but on first look everything seems fine. Any ideas/tips what could be the issue?

Thanks,  
Marko

---

<div class="post-metadata">

**Author:** ![marko.ravnjak](https://avatars.discourse-cdn.com/v4/letter/m/c67d28/32.png) [@marko.ravnjak](https://qa.fmod.com/u/marko.ravnjak)\
**Post date:** [April 22, 2025, 8:21am UTC](https://qa.fmod.com/t/build-issue/22825/2 "2025-04-22T08:21:38Z")

</div>

To make it weirder, local build works fine…

---

<div class="post-metadata">

**Author:** ![marko.ravnjak](https://avatars.discourse-cdn.com/v4/letter/m/c67d28/32.png) [@marko.ravnjak](https://qa.fmod.com/u/marko.ravnjak)\
**Post date:** [April 23, 2025, 1:38pm UTC](https://qa.fmod.com/t/build-issue/22825/3 "2025-04-23T13:38:05Z")

</div>

Downgrading unity back to .19 seems to solve the issue…  
UpdateCache function executes normally and banks get copied into StreamingAssets folder.

For the .60 build, the issue seems to be CreateSystem:

FMOD failed to initialize the output device.: "A call to a standard soundcard driver failed, which could possibly mean a bug in the driver or resources were missing or exhausted. " (57)

This gets triggered on the first loadbank (lazy init of system). How does CreateSystem work for headless batch build?

---

<div class="post-metadata">

**Author:** ![Connor\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/connor_fmod/32/3685_2.png) [@Connor\_FMOD](https://qa.fmod.com/u/Connor_FMOD)\
**Post date:** [April 24, 2025, 12:28am UTC](https://qa.fmod.com/t/build-issue/22825/4 "2025-04-24T00:28:59Z")

</div>

Hi,

Thank you for the information.

There is a known issue with CI builds at the moment. A [workaround](https://qa.fmod.com/t/docker-windows-dllnotfoundexception-fmodstudiol/20491/36) is hard setting the auditioning system to [NOSOUND](https://fmod.com/docs/2.02/api/core-api-system.html#fmod_outputtype:~:text=System%3A%3AgetOutput%20only.-,FMOD_OUTPUTTYPE_NOSOUND,-All%20%2D%20Perform%20all). Could you please test updating the `EditorUtils.cs` underline `541`:

```auto
private static void CreateSystem()
{
    RuntimeUtils.DebugLog("FMOD Studio: Creating editor system instance");
    RuntimeUtils.EnforceLibraryOrder();

    FMOD.RESULT result = FMOD.Debug.Initialize(FMOD.DEBUG_FLAGS.LOG, FMOD.DEBUG_MODE.FILE, null, "fmod_editor.log");
    if (result != FMOD.RESULT.OK)
    {
        RuntimeUtils.DebugLogWarning("FMOD Studio: Cannot open fmod_editor.log. Logging will be disabled for importing and previewing");
    }

    CheckResult(FMOD.Studio.System.create(out system));

    FMOD.System lowlevel;
    CheckResult(system.getCoreSystem(out lowlevel));

    // New lines to force no sound
    CheckResult(lowlevel.setOutput(FMOD.OUTPUTTYPE.NOSOUND));

```

Please let me know if this allows builds to succeed. Note, that auditioning events in the Unity editor or in a timeline will not work with this change. For the change to be applied you can either build banks or delete the `FMODStudioSettings ` object.

Could I also please grab the `fmod_editor.log`? This should be found in your Unity project directory.

---

<div class="post-metadata">

**Author:** ![marko.ravnjak](https://avatars.discourse-cdn.com/v4/letter/m/c67d28/32.png) [@marko.ravnjak](https://qa.fmod.com/u/marko.ravnjak)\
**Post date:** [April 24, 2025, 8:42am UTC](https://qa.fmod.com/t/build-issue/22825/5 "2025-04-24T08:42:59Z")

</div>

Hi Connor,  
forcing NOSOUND helped, fmod updates the cache and copies the banks to target folder. I’ve wrapped the force nosound with a batch mode check, so that editor preview still works.

```auto
            if (Application.isBatchMode) {
                CheckResult(lowlevel.setOutput(FMOD.OUTPUTTYPE.NOSOUND));
            }

```

Here are the log outputs:

for failed build:

```auto
[LOG] System::create : Header version = 2.02.21. Current version = 2.02.21.
[LOG] Manager::init : maxchannels = 256 studioflags = 00000006 flags 00000000 extradriverdata 0x0.
[LOG] SystemI::init : Initialize version=20221 (141420), maxchannels=256, flags=0x00020000
[LOG] SystemI::setOutputInternal : Setting output to 'FMOD Core Audio Output'
[LOG] OutputCoreAudio::init : Output running 2 channels at 48000Hz sample rate.
[LOG] OutputCoreAudio::init : Maximum hardware read size: 2048 samples, Software buffer size: 512 samples, Number of software buffers: 4.
[LOG] Thread::initThread : Init FMOD stream thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFB, Stack Size: 98304, Semaphore: No, Sleep Time: 10, Looping: Yes.
[LOG] Thread::initThread : Init FMOD mixer thread. Affinity: 0x4000000000000001, Priority: 0xFFFF7FFA, Stack Size: 81920, Semaphore: Yes, Sleep Time: 0, Looping: Yes.
[LOG] Thread::callback : FMOD stream thread finished.
[LOG] Thread::callback : FMOD mixer thread finished.
[LOG] SystemI::close : Closed.
[LOG] LiveUpdate::release :
[LOG] LiveUpdate::reset : Reset connection (reason Disconnected)

```

with nosound fix:

```auto
[LOG] System::create : Header version = 2.02.21. Current version = 2.02.21.
[LOG] SystemI::setOutputInternal : Setting output to 'FMOD NoSound Output'
[LOG] Manager::init : maxchannels = 256 studioflags = 00000006 flags 00000000 extradriverdata 0x0.
[LOG] SystemI::init : Initialize version=20221 (141420), maxchannels=256, flags=0x00020000
[LOG] Thread::initThread : Init FMOD stream thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFB, Stack Size: 98304, Semaphore: No, Sleep Time: 10, Looping: Yes.
[LOG] Thread::initThread : Init FMOD mixer thread. Affinity: 0x4000000000000001, Priority: 0xFFFF7FFA, Stack Size: 81920, Semaphore: No, Sleep Time: 0, Looping: Yes.
[LOG] AsyncManager::init : manager 0x348bc9408 isAsync 0 updatePeriod 0.02
[LOG] AsyncManager::init : done
[LOG] PlaybackSystem::init :
[LOG] Thread::initThread : Init FMOD Studio sample load thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFD, Stack Size: 98304, Semaphore: No, Sleep Time: 1, Looping: No.
[LOG] PlaybackSystem::init : done
[LOG] Thread::initThread : Init FMOD Studio bank load thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFD, Stack Size: 98304, Semaphore: No, Sleep Time: 1, Looping: No.
[LOG] Manager::init : done.
[LOG] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
[LOG] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
[LOG] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
[LOG] Manager::readBank : fileversion = 142, compatVersion = 140 (oldest = 44, newest = 142)
etc...

```

---

<div class="post-metadata">

**Author:** ![Connor\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/connor_fmod/32/3685_2.png) [@Connor\_FMOD](https://qa.fmod.com/u/Connor_FMOD)\
**Post date:** [April 27, 2025, 10:25pm UTC](https://qa.fmod.com/t/build-issue/22825/6 "2025-04-27T22:25:48Z")

</div>

Thank you for the logs, good to hear that helped the issue. I will add your solution to the task.

Please let me know if there is anything else I can assist with!
