Asset - Scripts TMC DS Manager


TMC Founder
GMC Elder

TMC DS Manager

Outputs: All

Type: Save Load Support Scripts

Included: Scripts, Example Sprites, Example Objects and Demo Room



TMC DS Manager

This system was created for people that are trying to use game_save() and game_load() in their game but find their game crashing due to the fact the game is using data structures which are not saved by game_save()... or is using 3rd party assets that do not have a proper or complete saving of the data structures it created.

Adding game saving is quite tedious, and most think that game_save() and game_load() is a godsend. But, unfortunately, the feature in Studio is not complete and does not support storing and restoring data structures.

Devs are told to not use the feature and implement their own game-saving scheme. But this is easier said than done! Saving your game requires a lot of forethought and if you want to implement something more than waypoint saving, like actual game state saving which game_save() provides, this is an overwhelming task.

The system does not fix the limitation where you can't have an old version of the game save load in a new version of the game... but for people who are done with their project and simply want saving that works, these supplemental functions can do the job for you.


  1. A Data Structure Manager Set of API
  2. Adds an Extra Level of containment around data structures
  3. Data Structure Types are Segregated, making ds_exists() more useless than it was
  4. The entire set of data structures used by your game can be saved and re-loaded
  5. Supports List, Maps, Grids, Stack, Priority and Queues
  6. Comes with a simple Controller object
  7. Allows storing data structures stored in globals
  8. Allows storing data structures stored in instances
  9. Demo shows how to integrate with game_save() and game_load()
  10. Demo shows how to convert and existing asset to use the manager instead
Example Included with API



TMC Founder
GMC Elder
BTW you can shove the manager data in a global variable containing the json text version of the content before game_save and restore it from that global variable from json text upon detecting the game_load(). Instead of going through the secondary json file... The demo uses the file only because it's more obvious.