I've been finding weird quirks and pieces of code that don't work with the Save and Load and I'm trying to compile a list in order to avoid these problems.
A lot have been reported and fixed, while some are difficult to fix (e.g. github.com/Scirra/Construct-bugs/issues/9052 )
I would expect the following to have some sort of problem but I've yet to test and/or discover any:
- complex JS
- heavy/slow loops especially with variables
- complex hierarchies
- complex timelines
- complex flowcharts
- some 3D stuff
I'm not interested to hear "make your own system" since I've already done that, but when I participate in a game jam, I want to use C3's one.
I'd like to know if anyone else has found info on what NOT to use since based on the manual, everything should work fine.
Some of these are confirmed limitations, while others are user-reported edge cases that still need minimal reproduction projects before they can be treated as confirmed Construct bugs.
Confirmed / expected limitations:
- Drawing Canvas pixel data — confirmed by Ashley: the Drawing Canvas instance is saved, but the pixel data inside it is not.
- Images loaded from URLs — mentioned by R0J0hound as not saved automatically.
- Sounds loaded from URLs — mentioned by R0J0hound as not saved automatically.
- Mid-flight network/file requests — confirmed/expected limitation mentioned by Ashley and R0J0hound.
- External JavaScript state — mentioned by R0J0hound / Nindool: JS state outside Construct's runtime needs to be saved manually.
Reported by users as not working / causing problems:
- Wait for previous action to finish — reported by me as causing issues.
- Tweens during cutscenes — reported by andreyin: saving/loading mid-cutscene can break when waiting for tween movement to finish.
- NPC movement using Tweens — reported by andreyin: loading a save made around tween-based NPC movement sometimes caused an error and made the save unusable.
- Hierarchies in UI / battle menus — reported by andreyin: loading a mid-battle save broke menu hierarchies and attached/shadow objects.
- Dynamically created/destroyed objects with instance variables — reported by Nindool as inconsistent on load in some cases.
- Global variables changed inside functions called from timelines — reported by Nindool as sometimes loading off by a step or two.
Suspected / hinted as potentially risky, but not directly confirmed:
- Some async operations mid-progress — suggested by R0J0hound as an area to be careful with.
- Saving during timelines / mid-execution timeline logic — hinted by Nindool's report, but needs a minimal repro.
- Worker-based async tasks, e.g. pathfinding — suggested by R0J0hound as something that may not save cleanly if mid-progress.