LauraWebdev / Godot4-DeployToSteamOS

A Godot plugin integrating a direct deployment workflow to SteamOS
MIT License
122 stars 6 forks source link

Remove Newtonsoft JSON #2

Closed LauraWebdev closed 8 months ago

LauraWebdev commented 8 months ago

Used for convenience in the beginning, but should be fairly easy to remove it, so we have one less dependency.

jfreuden commented 8 months ago

I think this is also causing some Assembly unload issues. When they strike, it wrecks some of my project data, so I'd definitely be glad if it's possible to do without

utoxin commented 8 months ago

This is also impacting me. NewtonSoft JSON is a known issue with Godot, per https://github.com/godotengine/godot/issues/78513

LauraWebdev commented 8 months ago

@jfreuden @utoxin I just released 1.1.0 which removes the dependency of Newtonsoft.JSON entirely.

utoxin commented 8 months ago

Thanks! Don't forget to update the readme. It still mentions Newtonsoft as a dependency.

utoxin commented 8 months ago

So, I'm not sure yet what it is (and I'm not sure how to nail it down), but either the addon itself or one of the two dependencies is still triggering the assembly unload issues for me.

jfreuden commented 8 months ago

Also still having the issue, but I'm keeping in mind there is some "sticky" behavior with Godot and C# dotnet, particularly when also using external IDE's. If you can afford to, try recloning only the base project files into a new directory. On my end I might try deleting .godot and .idea/.vs or whatever your cache directories are. I haven't had a chance to evaluate if this will fix it or cause more problems so I haven't tried it yet. (Can't afford a delay on my project at the moment, but will check soon)

jfreuden commented 7 months ago

I came across this https://github.com/MikeSchulze/gdUnit4/commit/1340d012a6f5315eb08e141f250f7300f214f813 commit while I was trying to debug a totally different issue. Apparently whatever change this commit made fixed the similar "failed to unload assemblies" issue. It seems that they called all static methods, which seems generally untenable, but might be at there very least a starting point (and there is a discord thread too). I just wanted to reference it here for info