Fantastic! This will solve a
lot of peoples' problems with trying to create things like a New Game Plus. Also love the idea to name Switches/Variables with since they can't be notetagged. I hope lots of people will answer questions with links to this script.
Other uses besides New Game Plus could be in-game Rewards/Achievements, High Score tracking, and in-game setting of Options. Hmmm... what else could we use synced data for?
Yes, anything that requires some sort of global tracking of data would work well.
One of the drawbacks with this plugin is you don't have much control over when and how the data is sync'd. Once you save your game, it will go and sync everything. So if you turned off a switch, it will be turned off everywhere. So there's no "conditional sync" where if you turn a switch ON, then it is ON everywhere, but if you turn it back off, nothing happens.
I'm currently designing a plugin that would give you more control over when the data is actually saved.
For example, let's say you had your achievement system. There are two types of achievements
1. Global achievements - these track all of the achievements you've unlocked across all save files
2. in-game achievements - these are the achievements you unlocked in that game
If you actually needed each game to have their own achievements, sync'ing wouldn't work here, because it is global everywhere. You would need a different set of tools to be able to make this distinguish.
Of course, there are games where all data from other save files should be transferred into the current save file, so sync'ing would be appropriate for that since you don't need to worry about having to run an event to sync the global data yourself.
Just spitballing a bit here - possible things to add in the future might be syncing for certain Inventory Items, or a compatible script that changes the title screen and its options based on the values of a synced switch/variable/item.
I don't have any use cases in mind for how inventory can be synchronized, since your project could have multiple inventories, or each actor might have their own inventory, and so on. So it gets a bit complex. I like the idea of being able to synchronize actors and inventories and anything else, but it's unclear how it might work.
For title-screen, one could potentially just
build it using events, which can make use of the sync data.
BTW, I noticed the script's terms of use say "Contact me for commercial use" which is different than the terms of use you recently announced on your Website. Might need to fix or clarify.
Thanks for this great script!!
Oh ya, I did have that in my plugins. Will need to update them since I just copy/paste from a template.