Problem connecting Celeste to FMOD Live Update, even after trying solutions from similar posts here

Hi everyone,

I’ve been following the instructions for connecting Celeste to the available FMOD Studio project, but I’m having issues getting the live update to work: https://www.fmod.com/docs/2.03/studio/appendix-a-celeste.html

I’m using FMOD version 1.10.10, and I have not made any changes to the FMOD project before building the banks.

I had the same issue as others on this forum, with the game initially not opening after rebuilding the banks as directed in the link above. I then managed to get the game to open again after changing the game version to 1.2.5.0 and re-building the banks, as suggested in this thread: Problem with celeste+fmod

However, connecting to Live Update is still not working. I get the following “Socket Error” message:

I also have these error logs coming up; I don’t know what to do with this information:

Monocle Engine Error Log

04/09/2026 15:39:54
System.Runtime.Serialization.SerializationException: The input stream is not a valid binary format. The starting contents (in bytes) are: 3C-3F-78-6D-6C-20-76-65-72-73-69-6F-6E-3D-22-31-2E ...
at System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord.Read(__BinaryParser input)
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadSerializationHeaderRecord()
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at Celeste.UserIO.Deserialize[T](Stream stream)
at Celeste.UserIO.Load[T](String path, Boolean backup)

04/09/2026 14:35:39
System.Runtime.Serialization.SerializationException: The input stream is not a valid binary format. The starting contents (in bytes) are: 3C-3F-78-6D-6C-20-76-65-72-73-69-6F-6E-3D-22-31-2E ...
at System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord.Read(__BinaryParser input)
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadSerializationHeaderRecord()
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream)
at Celeste.UserIO.Deserialize[T](Stream stream)
at Celeste.UserIO.Load[T](String path, Boolean backup)

04/09/2026 14:28:21
System.Runtime.Serialization.SerializationException: The input stream is not a valid binary format. The starting contents (in bytes) are: 3C-3F-78-6D-6C-20-76-65-72-73-69-6F-6E-3D-22-31-2E ...
at System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord.Read(__BinaryParser input)
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadSerializationHeaderRecord()
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream)
at Celeste.UserIO.Deserialize[T](Stream stream)
at Celeste.UserIO.Load[T](String path, Boolean backup)

Any help would be much appreciated!

Thanks in advance,
Anni

Hi Anni,

Thanks for the detailed information.

I tested this with Celeste 1.2.5.0 and FMOD Studio 1.10.10 and was able to get Live Update working.

Could you please confirm whether you followed the Edit Celeste’s settings section of the guide?

In settings.celeste, LaunchWithFMODLiveUpdate needs to be manually changed from false to true:

<LaunchWithFMODLiveUpdate>true</LaunchWithFMODLiveUpdate>

After restarting Celeste, you should see “FMOD Live Update Enabled” on the title screen before attempting to connect from FMOD Studio.

Could you please let me know whether that message appears for you?

Hi Li,

Thank you for your reply. I forgot to include in my post that I had also changed the “false” in false to “true”.

I believe I followed all of the instructions on the FMOD Celeste project page as they are written. But somehow, even after changing to an older version of the game, I still have the “socket error” message coming up in FMOD.

Thanks for confirming.

I did some further testing and was able to reproduce the issue.

With Celeste 1.2.5.0, the original Content/FMOD/Desktop folder contains an additional new_content.bank. Following the guide, I renamed the original Desktop folder to Desktop_original and rebuilt the banks from FMOD Studio. The newly generated Desktop folder did not contain new_content.bank, and Celeste 1.2.5.0 crashed on launch.

If you would still like to use Celeste 1.2.5.0, as a temporary workaround, you can copy the original new_content.bank from Desktop_original into the newly generated Desktop folder. In my testing, this allowed the game to launch normally and Live Update connected successfully once LaunchWithFMODLiveUpdate was set to true.

Alternatively, I also tested the latest version of Celeste with the “Celeste Project (includes DLC content)” project. The generated bank set matched the current game version, and both the game and Live Update worked normally without any additional bank changes.

Could you also let me know which FMOD project you downloaded from our Downloads page — “Celeste Project (includes DLC content)” or “Celeste Project”?

I’ve just copiednew_content.bankto the new Desktop folder after rebuilding the banks, then ran the game again. I’m still getting the same socket error message when I click on Live Update in FMOD, despite already having LaunchWithFMODLiveUpdate set to true.

I downloaded “Celeste Project”. Should I have downloaded the one that includes DLC content?

Could you please confirm whether “FMOD Live Update Enabled” appears on the Celeste title screen when you launch version 1.2.5.0?

You don’t need to switch to the DLC project. I tested Celeste 1.2.5.0 with the regular “Celeste Project” and was able to get both the game and Live Update working.

I did some further testing and found that there may be a compatibility issue with the save/settings data after switching from the current version of Celeste back to 1.2.5.0. Steam Cloud can also restore the existing files after downgrading.

In my testing, settings.celeste already showed:

<LaunchWithFMODLiveUpdate>true</LaunchWithFMODLiveUpdate>

but Live Update still wasn’t actually enabled in-game.

What worked for me was to temporarily disable Steam Cloud, back up and remove the existing Saves and Backups folders, then launch Celeste 1.2.5.0, play far enough to save and quit and let it generate a fresh settings.celeste. After changing LaunchWithFMODLiveUpdate to true in that newly generated file, “FMOD Live Update Enabled” appeared on the title screen and FMOD Studio connected successfully.

If you don’t see that message on the title screen, could you give this a try and let me know whether it works for you?