Welcome to our guide on how to edit save files for the popular game Supermarket Together (valid as of 25.10.2024). In this guide, you will learn everything you need to know about finding, decrypting, and editing your game data for a more personalized supermarket experience. Let’s dive in and make your supermarket truly your own!
Locating save files
..\AppData\LocalLow\DDTNL\Supermarket Together
Since AppData is a hidden folder, you may not see it in your user directory. One way to access it would be to press win+R key combination and type in %appdata%. This way you’ll get into Roaming folder, which is inside AppData. Move one folder up to get to AppData.
I’m not familiar with Mac nor Linux.
Save files have .es3 extension. They are named StoreFile0.es3, StoreFile1.es3, StoreFile2.es3 and so on. These are different supermarkets you created. Some of the files will also have Day1, Day2, Day3… suffix. These are basically backups of your store. You can roll back to them from in-game:
The one without suffix is your most recent one.
Decrypting (and ecrypting) save files
Editing savefile data – store and franchise
“__type” : “int”,
“value” : 0
“__type” : “string”,
“value” : “Saltstore”
“__type” : “int”,
“value” : 4
“__type” : “int”,
“value” : 846
“__type” : “int”,
“value” : 3
“__type” : “float”,
“value” : 402.26
“__type” : “int”,
“value” : 4
“__type” : “string”,
“value” : “SULMART”
“__type” : “Color”,
“value” : {
“r” : 1,
“g” : 0.495283,
“b” : 0.7220034,
“a” : 1
“__type” : “int”,
“value” : 0
“__type” : “int”,
“value” : 0
Editing savefile data – upgrades and prices
“__type” : “ES3PlayMaker.PMDataWrapper,Assembly-CSharp-firstpass”,
“value” : {
“objs” : null,
“arrays” : null,
“obj” : null,
“array” : [
{
“__type” : “bool”false
},{
“__type” : “bool”false
},{
“__type” : “bool”false
},{
“__type” : “bool”false
},{
“__type” : “bool”false
},{
“__type” : “bool”false
}
]
“__type” : “ES3PlayMaker.PMDataWrapper,Assembly-CSharp-firstpass”,
“value” : {
“objs” : null,
“arrays” : null,
“obj” : null,
“array” : [
{
“__type” : “bool”false
},{
“__type” : “bool”false
},{
“__type” : “bool”false…
]
“__type” : “ES3PlayMaker.PMDataWrapper,Assembly-CSharp-firstpass”,
“value” : {
“objs” : null,
“arrays” : null,
“obj” : null,
“array” : [
{
“__type” : “float”1
},{
“__type” : “float”2
},{
“__type” : “float”3
},{
“__type” : “float”4
},{
“__type” : “float”5
},{
“__type” : “float”6
},{
“__type” : “float”7
},{
“__type” : “float”8
},{
“__type” : “float”9
},{
“__type” : “float”10
},{
“__type” : “float”11
},{
“__type” : “float”12
},{
“__type” : “float”13
},{
“__type” : “float”14
},{
“__type” : “float”15
},{
“__type” : “float”16
},{
“__type” : “float”17
},{
“__type” : “float”18
},{
“__type” : “float”19
},{
“__type” : “float”20
},{
“__type” : “float”21
},{
“__type” : “float”22
},{
“__type” : “float”23
},{
“__type” : “float”24
},{
“__type” : “float”25
},{
“__type” : “float”26
},{
“__type” : “float”27
},{
“__type” : “float”28
},{
“__type” : “float”29
},{
“__type” : “float”30
},{
“__type” : “float”31
},{
“__type” : “float”32
},{
“__type” : “float”33
},{
“__type” : “float”34
},{
“__type” : “float”35
},{
“__type” : “float”36
},{
“__type” : “float”37
},{
“__type” : “float”…
“TierInflation” : {
“__type” : “ES3PlayMaker.PMDataWrapper,Assembly-CSharp-firstpass”,
“value” : {
“objs” : null,
“arrays” : null,
“obj” : null,
“array” : [
{
“__type” : “float”1.1
},{
“__type” : “float”1.06
},{
“__type” : “float”1.15
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
},{
“__type” : “float”1
}
]
}
“__type” : “ES3PlayMaker.PMDataWrapper,Assembly-CSharp-firstpass”,
“value” : {
“objs” : null,
“arrays” : null,
“obj” : null,
“array” : [
{
“__type” : “bool”false
},{
“__type” : “bool”false
},{
“__type” : “bool”false…
“__type” : “ES3PlayMaker.PMDataWrapper,Assembly-CSharp-firstpass”,
“value” : {
“objs” : null,
“arrays” : null,
“obj” : null,
“array” : [
{
“__type” : “string”””
},{
“__type” : “string”””
},{
“__type” : “string”””
Editing savefile data – objects
“__type” : “string”,
“value” : “0|1|8,448456|0|-0,9729927|180”
},
“propinfoproduct0” : {
“__type” : “System.Int32[],mscorlib”,
“value” : [
2,48,3,48,0,30,5,65
]
},
I haven’t gotten into this, but I’m pretty sure propdata values consist of coordinates (3rd and 5th value) and rotation (last value)
And that wraps up our share on Supermarket Together: Guide to editing Supermarket Together save files. If you have any additional insights or tips to contribute, don’t hesitate to drop a comment below. For a more in-depth read, you can refer to the original article here by MrBlackBit, who deserves all the credit. Happy gaming!