# Unity Android app won't start second time

**URL:** <https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448>\
**Category:** Unity\
**Tags:** unity\
**Created:** [October 10, 2025, 1:29pm UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448 "2025-10-10T13:29:52Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![Schnappiroc](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@Schnappiroc](https://qa.fmod.com/u/Schnappiroc)\
**Post date:** [October 10, 2025, 1:29pm UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448/1 "2025-10-10T13:29:52Z")

</div>

I’m building an internet radio out of an old phone.

> **[GitHub - SiWoC/InternetRadioUnity: An Internet Radio Settop-box to be deployed to an...](https://github.com/SiWoC/InternetRadioUnity)**
>
> An Internet Radio Settop-box to be deployed to an old phone connected with a 3.5 headphone jack to my Receiver

Everything works OK the first time, but on Andriod when I quit the application and then start it again, it won’t.

It doesn’t even show the “build with unity” splash.

When I remove the FMOD part, it starts OK the second time.

Running multiple times in the Unity Editor works fine.

Is there something I should “release” on Application Quit?  
Other than what I’m doing now? (I tried with and with an explicit CoreSystem.release(), result is the same)

```csharp
    void OnApplicationQuit()
    {
        // App is being quit - ensure complete cleanup
        StopStream();
#if !UNITY_EDITOR
        UnityEngine.Debug.Log("FMOD CoreSystem.release()");
        RuntimeManager.CoreSystem.release();
#endif
    }

```

---

<div class="post-metadata">

**Author:** ![li\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/li_fmod/32/6577_2.png) [@li\_fmod](https://qa.fmod.com/u/li_fmod)\
**Post date:** [October 13, 2025, 2:25am UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448/2 "2025-10-13T02:25:01Z")

</div>

Hi,

Thank you for the details!

Could you please share the FMOD Unity integration version you’re using?

> [@Schnappiroc](#):
>
> Is there something I should “release” on Application Quit?

When using the FMOD Unity integration, you shouldn’t need to manually call `CoreSystem.release()`. The integration manages FMOD’s lifetime, and OnApplicationQuit isn’t always reliable on Android.

> [@Schnappiroc](#):
>
> Other than what I’m doing now? (I tried with and with an explicit CoreSystem.release(), result is the same)

Would it be possible to share a Logcat snippet from the second launch?

---

<div class="post-metadata">

**Author:** ![Xroft666](https://avatars.discourse-cdn.com/v4/letter/x/f04885/32.png) [@Xroft666](https://qa.fmod.com/u/Xroft666)\
**Post date:** [October 16, 2025, 9:42am UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448/3 "2025-10-16T09:42:16Z")

</div>

Hi @li_fmod, Im experiencing exactly the same issue. If I quit the app, it looks like it does quit, and yet the logcat doesnt say it has ever been terminated. There are no error or crash messages coming from the app when quitting. Only “Force Quit” option actually kills the app

The second launch doesn’t have any logs, because the first launch is still active, and it wont launch the activity.

Looking at the profiler in the Android Studio, the process is sleeping, but there are a few active threads running, which most probably dont let the app finally quit, namely - FMOD Studio Update, Studio Socket and Studio.Heartbeat

Is there a way to make FMOD completelly terminate during OnDestroy (if OnApplicationQuit is unreliable)? What’s the proper way to handle termination?

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/fmod/original/2X/1/14c760b30de7770ec1c509aa9e02e01fbe96363d.png)

---

<div class="post-metadata">

**Author:** ![li\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/li_fmod/32/6577_2.png) [@li\_fmod](https://qa.fmod.com/u/li_fmod)\
**Post date:** [October 16, 2025, 11:40pm UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448/4 "2025-10-16T23:40:21Z")

</div>

Hi,

Thank you for sharing the details!

Could you share the exact FMOD Unity integration version? I couldn’t reproduce this issue on 2.03.09.

> [@Xroft666](#):
>
> Is there a way to make FMOD completelly terminate during OnDestroy (if OnApplicationQuit is unreliable)? What’s the proper way to handle termination?

You generally don’t need to terminate FMOD manually, since when the app closes, Unity calls `RuntimeManager.OnDestroy()`, which shuts FMOD down in the correct order.

---

<div class="post-metadata">

**Author:** ![Schnappiroc](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@Schnappiroc](https://qa.fmod.com/u/Schnappiroc)\
**Post date:** [October 17, 2025, 7:50am UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448/5 "2025-10-17T07:50:11Z")

</div>

I’m using Unity 6000.2.6f2  
with FMOD Studio Integration 2.03.09

My project is not using any FMOD events, busses, streamingassets etc.  
It just uses the FMOD streaming-api’s.

Could it be onDestroy skips stuff if these aren’t initialized/instantiated?

I see CoreSystem and StudioSystem, what if I have never used/initialized StudioSystem or something like that.

---

<div class="post-metadata">

**Author:** ![Schnappiroc](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@Schnappiroc](https://qa.fmod.com/u/Schnappiroc)\
**Post date:** [October 17, 2025, 3:21pm UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448/6 "2025-10-17T15:21:53Z")

</div>

[logcat\_output.txt](https://qa.fmod.com/uploads/short-url/4Uaq0cz2ziX3Vb8FT6HPIHcKTXC.txt) (289.4 KB)

Here the logcat output of first successfull start and second failing start, with some notes from me.

---

<div class="post-metadata">

**Author:** ![li\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/li_fmod/32/6577_2.png) [@li\_fmod](https://qa.fmod.com/u/li_fmod)\
**Post date:** [October 22, 2025, 2:22am UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448/7 "2025-10-22T02:22:34Z")

</div>

Thank you for the extra info and log!

> [@Schnappiroc](#):
>
> Could it be onDestroy skips stuff if these aren’t initialized/instantiated?

No. The FMOD Unity integration releases only what was actually initialized. If a subsystem was never created, there’s nothing to release.

> [@Schnappiroc](#):
>
> I see CoreSystem and StudioSystem, what if I have never used/initialized StudioSystem or something like that.

Even if you don’t use any events/banks, accessing `FMODUnity.RuntimeManager.CoreSystem` can initialize the RuntimeManager, which in turn creates both the Studio system and the Core system.

Unfortunately, I couldn’t find anything in the log that directly explains the second launch hang,  
and I wasn’t able to reproduce on my end with Unity 6000.2.6f2 + FMOD 2.03.09.

Would it be possible to share the project or a minimal repro so I can take a closer look? You can upload it to your [profile](https://www.fmod.com/profile#uploads).

---

<div class="post-metadata">

**Author:** ![Xroft666](https://avatars.discourse-cdn.com/v4/letter/x/f04885/32.png) [@Xroft666](https://qa.fmod.com/u/Xroft666)\
**Post date:** [October 23, 2025, 9:19am UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448/8 "2025-10-23T09:19:31Z")

</div>

hi **[li\_fmod](https://qa.fmod.com/u/li_fmod)!**

To reproduce my hang you would need one of the newly announced AndroidXR devices, which we are are currently targeting and have a devkit. And the hang seems to be more pronounced on older firmware versions, but it does still happen on the latest.

I havent tried it on a normal android phone, but I suspect the issue to be tied specifically to the new platform. So considering that both OnDestroy and OnApplicationQuit are getting called, which i checked in logcat, so RuntimeManager’s OnDestroy is assumingly does what it should to release everything, what else can I do to force terminate all threads?

---

<div class="post-metadata">

**Author:** ![Xroft666](https://avatars.discourse-cdn.com/v4/letter/x/f04885/32.png) [@Xroft666](https://qa.fmod.com/u/Xroft666)\
**Post date:** [October 24, 2025, 9:44am UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448/9 "2025-10-24T09:44:03Z")

</div>

hi **[li\_fmod](https://qa.fmod.com/u/li_fmod)**, i have some more bits for you 🙂

The cause of the hang for me seems to be this warning:

[FMOD] EventInstance::flushReleaseQueue : Event instance has programmer sounds pending release, update thread will be blocked until programmer sounds are released.

and it seems to be coming out of the studioSystem.release() call in RuntimeManager.OnDestroy(). It also never comes back out of it, so it just holds the main thread forever. OnDestroy, similarly to OnApplicationQuit doesnt happen reliably, so it explains why the app only hangs sometimes

---

<div class="post-metadata">

**Author:** ![Schnappiroc](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@Schnappiroc](https://qa.fmod.com/u/Schnappiroc)\
**Post date:** [October 24, 2025, 2:48pm UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448/10 "2025-10-24T14:48:32Z")

</div>

This is the project I’m experiencing this on [GitHub - SiWoC/InternetRadioUnity: An Internet Radio Settop-box to be deployed to an old phone connected with a 3.5 headphone jack to my Receiver](https://github.com/SiWoC/InternetRadioUnity)

The “nice/convenient” thing is that my app has two modes.  
One acting as the player, streaming the internet radio.  
One acting as the remote, controlling the player.  
Same app, same firmware, same Android version, same FMOD assets, except the player mode actually uses the FMOD streaming api and the remote mode doesn’t, the app only initializes FMOD when it needs to play a stream for the first time.

When stopping/restarting in player mode it is hanging on both my phones on second start. When in remote control mode it doesn’t hang.

I see the same behaviour on my newer Android 14 phone as on my older Android 8 phone.

---

<div class="post-metadata">

**Author:** ![Schnappiroc](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@Schnappiroc](https://qa.fmod.com/u/Schnappiroc)\
**Post date:** [October 25, 2025, 8:54am UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448/11 "2025-10-25T08:54:27Z")

</div>

Just trying to give all information I have and think might be usefull.

In the Unity Player while making some changes, so after changing code in Visual Studio, switching back to Unity, Unity Editor tries to reload scripts etc., so it probably needs to rebuild:

```auto
[FMOD] SystemI::close : Cannot close System while suspended.

UnityEngine.Debug:LogWarning (object)
FMODUnity.RuntimeUtils:DebugLogWarning (string) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:580)
FMODUnity.RuntimeManager:DEBUG_CALLBACK (FMOD.DEBUG_FLAGS,intptr,int,intptr,intptr) (at Assets/Plugins/FMOD/src/RuntimeManager.cs:108)
FMOD.Studio.System:release () (at Assets/Plugins/FMOD/src/fmod_studio.cs:423)
FMODUnity.RuntimeManager:ReleaseStudioSystem () (at Assets/Plugins/FMOD/src/RuntimeManager.cs:271)
FMODUnity.RuntimeManager:HandleDomainUnload (object,System.EventArgs) (at Assets/Plugins/FMOD/src/RuntimeManager.cs:778)
System.AppDomain:DoDomainUnload ()

```

Next starts gives this even though the app seems to be running OK

```auto
[FMOD] FMOD_OS_Net_Listen : Cannot listen for connections, port 9264 is currently in use.

UnityEngine.Debug:LogWarning (object)
FMODUnity.RuntimeUtils:DebugLogWarning (string) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:580)
FMODUnity.RuntimeManager:DEBUG_CALLBACK (FMOD.DEBUG_FLAGS,intptr,int,intptr,intptr) (at Assets/Plugins/FMOD/src/RuntimeManager.cs:108)
FMOD.System:update () (at Assets/Plugins/FMOD/src/fmod.cs:1217)
FMODRadioStreamer:Update () (at Assets/Scripts/FMODRadioStreamer.cs:38)

```

Could it be the order of Suspend/Destroy/Release is affecting things?

---

<div class="post-metadata">

**Author:** ![li\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/li_fmod/32/6577_2.png) [@li\_fmod](https://qa.fmod.com/u/li_fmod)\
**Post date:** [October 29, 2025, 2:00am UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448/12 "2025-10-29T02:00:45Z")

</div>

Thank you for the update and the log message!

> [@Xroft666](#):
>
> so RuntimeManager’s OnDestroy is assumingly does what it should to release everything, what else can I do to force terminate all threads?

Yes, `RuntimeManager.OnDestroy()` already handles the normal FMOD shutdown sequence. There isn’t a supported way to force terminate all threads as far as I’m aware, but you could try calling [Studio::System::flushCommands](https://www.fmod.com/docs/2.03/api/studio-api-system.html#studio_system_flushcommands) before Unity quits, to let pending destroy callbacks run.

> [@Xroft666](#):
>
> [FMOD] EventInstance::flushReleaseQueue : Event instance has programmer sounds pending release, update thread will be blocked until programmer sounds are released.

That warning is expected if an event is stopped or released while it still has programmer sounds waiting to be destroyed.

It doesn’t necessarily mean the system is stuck. It just indicates FMOD is waiting for those programmer sounds to finish releasing.

There’s a good explanation of this behavior in this forum thread:

> [@Stop immediate throws warnings on programmer sounds unity](https://qa.fmod.com/t/stop-immediate-throws-warnings-on-programmer-sounds-unity/16738/2):
>
> [Studio::EventInstance::release](https://www.fmod.com/resources/documentation-api?version=2.1&page=studio-api-eventinstance.html#studio_eventinstance_release) marks an event instance to be released as soon as it is stopped. We therefore generally recommend calling Studio::EventInstance::release as soon as you start the event instance, so that it can be cleaned up immediately as soon as it finishes playing. Since you are only calling Studio::EventInstance::release after the event has stopped, FMOD is warning you that the event’s sounds cannot be released because the event has not been marked for release. If you allow an …

---

<div class="post-metadata">

**Author:** ![li\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/li_fmod/32/6577_2.png) [@li\_fmod](https://qa.fmod.com/u/li_fmod)\
**Post date:** [October 29, 2025, 2:28am UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448/13 "2025-10-29T02:28:06Z")

</div>

Thank you for sharing the additional context and logs!

> [@Schnappiroc](#):
>
> `[FMOD] SystemI::close : Cannot close System while suspended.`
> 
> `[FMOD] FMOD_OS_Net_Listen : Cannot listen for connections, port 9264 is currently in use.`

It looks like the FMOD system is being closed or released while it’s still suspended, and the Live Update socket thread hasn’t been fully shut down yet.

This might explain why the “player” mode hangs on the second start as the previous FMOD system hasn’t fully exited before Unity starts initializing a new one.

**A few things you can try:**

- Call [System::mixerResume](https://www.fmod.com/docs/2.03/api/core-api-system.html#system_mixerresume) before shutdown to make sure FMOD isn’t still suspended when closing.
- Disable Live Update in your player build, since the socket listener on port 9264 can stay active if the system didn’t close cleanly.

> [@Schnappiroc](#):
>
> Could it be the order of Suspend/Destroy/Release is affecting things?

Yes, the order does matter. If the system is released while suspended or with active streams, FMOD threads may remain running and block the next initialization.

---

<div class="post-metadata">

**Author:** ![Schnappiroc](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@Schnappiroc](https://qa.fmod.com/u/Schnappiroc)\
**Post date:** [November 2, 2025, 11:04am UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448/14 "2025-11-02T11:04:46Z")

</div>

Thanks for the tips, but still no luck.

My FMOD Default = Unity Platform build setting already had Live Update disabled. Just to be sure, I also disabled it in the Editor profile, although I asume that is/was not used.

Then I added the system.mixerResume() in my streamer class OnApplicationQuit(), which also didn’t seem to have any effect.

Like you say “looks like it’s still suspended”, I/we don’t have any influence on the order Unity is pausing/destroing/quitting stuff, so neither do I.

---

<div class="post-metadata">

**Author:** ![li\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/li_fmod/32/6577_2.png) [@li\_fmod](https://qa.fmod.com/u/li_fmod)\
**Post date:** [November 13, 2025, 11:43pm UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448/15 "2025-11-13T23:43:19Z")

</div>

Sorry for the late response.

I installed your APK on both **Android 8** and **Android 14** test devices on my side, but unfortunately I wasn’t able to reproduce the second-launch hang so far. The app starts, quits, and relaunches without getting stuck.

> [@Schnappiroc](#):
>
> Then I added the system.mixerResume() in my streamer class OnApplicationQuit(), which also didn’t seem to have any effect.

On Android, `OnApplicationQuit()` isn’t guaranteed to run, so [OnApplicationPause(true)](https://docs.unity3d.com/6000.2/Documentation/ScriptReference/MonoBehaviour.OnApplicationPause.html) is generally the more reliable place to stop streams and release programmer sounds.

It won’t force-kill FMOD threads, but it gives the system a better chance to shut down cleanly before Unity tears down the activity. You could try moving your FMOD shutdown logic into `OnApplicationPause(true)` to see if it makes any difference on your devices.

---

<div class="post-metadata">

**Author:** ![Schnappiroc](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@Schnappiroc](https://qa.fmod.com/u/Schnappiroc)\
**Post date:** [November 16, 2025, 8:56pm UTC](https://qa.fmod.com/t/unity-android-app-wont-start-second-time/23448/16 "2025-11-16T20:56:35Z")

</div>

Hmmm, it now no longer hangs.

I don’t know if it is because I changed some stuff around createSound (that now has MODE.CREATESTREAM | MODE.NONBLOCKING) and an mpeg FMOD.CREATESOUNDEXINFO

or something else.

The app on Github didn’t have these changes when you reported you couldn’t reproduce.

I removed the NONBLOCKING again to test and then it hung once ( not 9 out of 10), but only when I restarted quite quick after stopping, so I will accept that that could be some background thread not yet finished releasing stuff.

I will keep monitoring, because I still don’t have a definitive cause/solution
