General
Unity version: 6.1.15
Fish-Networking version: 4.6.12R
Discord link: I did not troubleshoot this on Discord, as it is an apparent flaw with the way this was implemented.
Description
The NetworkManager has a _runInBackground property which, when enabled, unconditionally sets Application.runInBackground in Awake and again in the TimeManager_OnLateUpdate callback.
This means the application will always run in the background whenever NetworkManager exists in the scene, even if no client or server is active.
For games where multiplayer is optional (e.g., mostly singleplayer with occasional online sessions), this is undesirable.
The documentation itself states:
Running in the background is often essential for clients, and especially for the server.
This suggests it should only be enforced while networking is active, not globally.
Replication
Steps to reproduce the behavior:
Just run your game with a NetworkManager whose "Run in background" property is set to true.
Expected behavior
- The
_runInBackground property should only affect Application.runInBackground while a network session (server or client) is active.
- When networking is inactive, Unity’s project-level setting should be respected.
General
Unity version: 6.1.15
Fish-Networking version: 4.6.12R
Discord link: I did not troubleshoot this on Discord, as it is an apparent flaw with the way this was implemented.
Description
The
NetworkManagerhas a_runInBackgroundproperty which, when enabled, unconditionally setsApplication.runInBackgroundinAwakeand again in theTimeManager_OnLateUpdatecallback.This means the application will always run in the background whenever
NetworkManagerexists in the scene, even if no client or server is active.For games where multiplayer is optional (e.g., mostly singleplayer with occasional online sessions), this is undesirable.
The documentation itself states:
This suggests it should only be enforced while networking is active, not globally.
Replication
Steps to reproduce the behavior:
Just run your game with a
NetworkManagerwhose "Run in background" property is set to true.Expected behavior
_runInBackgroundproperty should only affectApplication.runInBackgroundwhile a network session (server or client) is active.