Page 1 of 2

IO Exception on Mac

Posted: Tue Oct 05, 2021 12:21 pm
by DMCH
Hi there,

I'm experiencing this problem on a Mac build, whereas the windows build works okay.

IOException: Win32 IO returned ERROR_ALREADY_EXISTS. Path:
at System.IO.File.Move (System.String sourceFileName, System.String destFileName) [0x00107] in <44afb4564e9347cf99a1865351ea8f4a>:0
at ES3Internal.ES3IO.MoveFile (System.String sourcePath, System.String destPath) [0x00000] in <1ebb5f582fd1476891a6ba69919f70dd>:0
at ES3Internal.ES3IO.CommitBackup (ES3Settings settings) [0x00062] in <1ebb5f582fd1476891a6ba69919f70dd>:0
at ES3Writer.Save (System.Boolean overwriteKeys) [0x00015] in <1ebb5f582fd1476891a6ba69919f70dd>:0
at ES3File.Sync (ES3Settings settings) [0x000a8] in <1ebb5f582fd1476891a6ba69919f70dd>:0
at ES3File.Sync (System.String filePath, ES3Settings settings) [0x00008] in <1ebb5f582fd1476891a6ba69919f70dd>:0
at LoadSaveManager.SaveGame (System.Boolean saveToHDNowIn, System.Int32 moveToSceneIDIn) [0x000a4] in <31e121b0daa14be89a9c19a5fba00d71>:0
at LoadSaveManager.SetupSaveGame (System.Int32 saveTypeIn, System.String newSaveLocationIn, System.Boolean saveToHDNowIn, System.Int32 moveToSceneIDIn) [0x00063] in <31e121b0daa14be89a9c19a5fba00d71>:0
at BattleControlScript.BeginLevelSetup () [0x00300] in <31e121b0daa14be89a9c19a5fba00d71>:0
at SunnyPinesCentreDialogueInteractions.Start () [0x00037] in <31e121b0daa14be89a9c19a5fba00d71>:0

Any ideas? Thanks

Re: IO Exception on Mac

Posted: Tue Oct 05, 2021 12:26 pm
by Joel
Hi there,

Just to check, are you using the latest version of Easy Save?

All the best,
Joel

Re: IO Exception on Mac

Posted: Tue Oct 05, 2021 12:32 pm
by DMCH
Unity is currently performing a task, so I can't check, but probably not. I'll update and try again.

Re: IO Exception on Mac

Posted: Thu Oct 14, 2021 3:44 pm
by DMCH
Hi Joel,

I've updated to Version: 3.3.2f7 and the error still exists. Still only happening on Mac build.

Re: IO Exception on Mac

Posted: Thu Oct 14, 2021 4:29 pm
by Joel
Hi there,

Please could you create a new, basic project containing only Easy Save with a simple scene which replicates this and private message it to me with instructions?

All the best,
Joel

Re: IO Exception on Mac

Posted: Thu Oct 14, 2021 5:29 pm
by DMCH
Will do. One thing I noticed from the Log is that the save location has not been updated - it's still using the save folder from the previous save game. Can you remind me how to change this?

Re: IO Exception on Mac

Posted: Thu Oct 14, 2021 5:40 pm
by Joel
Hi there,

I'm afraid I don't understand what you mean. By default Easy Save uses Unity's Application.persistentDataPath, which Unity automatically assigns based on the platform you're building for. If this is not happening then this indicates an issue at Unity's end.

All the best,
Joel

Re: IO Exception on Mac

Posted: Thu Oct 14, 2021 6:02 pm
by DMCH
Hey,

That wasn't very clear - I meant that it's using the same save folder as the last game I made, even though I've changed the product name in the player settings of the build menu. This change has taken effect in the windows build, but not in Mac. Figured it might be linked to the issue.

I'm using a fairly old Mac OS version (High Sierra), which I'll try to update. Are there any known bugs of this nature on older Mac OS Versions?

Re: IO Exception on Mac

Posted: Thu Oct 14, 2021 6:56 pm
by Joel
Hi there,

I've not heard of any issues of this nature. As this is controlled by Unity's Application.persistentDataPath, you might want to file a bug report with them. It might also be worth outputting the path to console using Debug.Log(Application.persistentDataPath) just to ensure that you've not hardcoded a path in anywhere.

All the best,
Joel

Re: IO Exception on Mac

Posted: Sat Oct 16, 2021 2:38 pm
by DMCH
Hey again. The error isn't happening anymore. I did two things, unsure which fixed the problem (likely #1)

1) Updated Mac OS from High Sierra -> Mojave
2) Changed the bundle identifier on the Mac Options in the Unity Player Settings. It seemed to be using a number of different folders, which may have been due to the game being built in multiple versions of Unity.