FMOD Studio integration liveupdate cannot connect with Unity 5 Beta.

I am using FMOD Studio-, API- and Unity integration 1.05.10 together with Unity 5 Beta 20, and everything seems to be working as intended so far except for liveupdate. I have added the FMOD_LIVEUPDATE and FMOD_DEBUG flags to scripting define symbols, and in Unity I get these warnings:

FMOD Error (ERR_NET_SOCKET_ERROR): A socket error occurred. This is a catch-all for socket-related errors not listed elsewhere.
UnityEngine.Debug:LogWarning(Object)
FMOD.Studio.UnityUtil:LogWarning(String)
(at Assets/Plugins/FMOD/FMOD_StudioSystem.cs:53)
FMOD.Studio.UnityUtil:ERRCHECK(RESULT)
(at Assets/Plugins/FMOD/FMOD_StudioSystem.cs:120)
FMOD_StudioSystem:ERRCHECK(RESULT)
(at Assets/Plugins/FMOD/FMOD_StudioSystem.cs:357)
FMOD_StudioSystem:Update() (at Assets/Plugins/FMOD/FMOD_StudioSystem.cs:337)

When trying to connect I get this pop-up from Studio:
“Studio could not connect to “127.0.0.1”. Please check that the IP address is correct, the
game is running and live update is enabled.”

There is no firewall in the way that could stop any connection either.

I have tried using the same Unity integration package with Unity 4.6, and liveupdate connects immediately, syncing changes in the editor perfectly with the game. Is liveupdate not yet supported for the Unity 5 Beta, or is there something awry with either the FMOD integration, or on Unitys side of things?

Unity 5 has opened up a separate listener on our default live update port.

Add this code after line 258 of FMOD_StudioSystem.cpp

    // Unity 5 liveupdate workaround
    if (Application.unityVersion.StartsWith("5"))
    {
        FMOD.Studio.UnityUtil.LogWarning("FMOD_StudioSystem: detected Unity 5, running on port 9265");
        FMOD.System sys;
        ERRCHECK(system.getLowLevelSystem(out sys));
        FMOD.ADVANCEDSETTINGS advancedSettings = new FMOD.ADVANCEDSETTINGS();
        advancedSettings.profilePort = 9265;
        ERRCHECK(sys.setAdvancedSettings(ref advancedSettings));
    }

You’ll need version 1.05.10 or later of the tool, and then in the connect to game dialog enter the address as host:port, e.g. “127.0.0.1:9265”

4 Likes

Thanks - I just ran into this problem, and this fixed it. The system works!

Thank you Nicholas, that did the trick, works perfectly!

Hi! If I copy paste this code into line 258 (inside void Init() ) ; Unity give me back console error: ‘sys’ and ‘advancedSettings’ cannot be delcared in this scope because it would give a different meaning to ‘advancedSettings’, which is already used in a child scope.

If I change sys for syst and advancedSettings to advancedSetting (just to don’t duplicate that vars) the game run but I still can’t connet FMOD to Unity.

What can I do?