Ashley I agree the built-in system should be used, and I did try to use it properly. I'd rather not pay for a game engine to not use it's features, I don't want my life to be harder.
I made heavy use of the No Save behavior to keep things simple, but I kept running into issues. A lot of them were fixed, but I keep finding more, either bugs, edge cases, or weird quirks.
For proper game dev, I need a save system I can fully trust, not one that works correctly "most of the time". I really do not need more headaches, and I'm sure you can understand that.
I've been making games with C2 and C3 for around 12 years now, full-time. I've also talked to many other devs who ended up making their own save systems too. I don’t think we can all be wrong about this.
About proving specific issues: I understand why clean bug reports are needed but it gets very time consuming. I report one issue, then after a few C3 updates I run into another one, then another, and so on.
At this point, if i can find a workaround, I usually dont bother reporting the bug anymore. Narrowing it down can take a lot of time, and if I can’t isolate it fast enough I usually just move on.
What i'm trying to learn now is what to avoid in C3 and what reliable workarounds other devs are using. That's why I made this post. And if there was info in the manual about it, I wouldn't be here wasting our time on this.
Also, just to confirm: is the Drawing Canvas object not saved by the system?
If it is not saved, I don't really understand why that is the default behavior. My expectation was that objects are saved unless you attach the No Save behavior, since that seems to be the purpose of that behavior in the first place??
Another big issue is that the manual does not seem to mention this at all. Imagine making a game, using the built-in save system, and only later discovering that Drawing Canvas data is not saved. If I check the manual and it says nothing about that, it is very easy to make a bad assumption.
I'm also not interested in handling this through network requests since that would be foolish of me. I've made enough multiplayer games to know saving such a thing is pointless.