Is storage shared?

Is the storage of my game shared between other g develop games?

Example

Game1 changes the “sound” element of storage “settings” to 50
then
Game2 changes the “sound” element of storage “settings” to 100

Now, when game1 reads the element “sound” of storage “settings” will it get 50 or 100?

I was custom to name my storage Storage and my group Group
For simplicity sake
I always left some means to delete storage so i have game with no save when i need for test
And i am talking here about games i tested in gdevelop via preview and/or ones i test via that preview link to gd games which display development build in one corner

I found out that removing storage (my named Storage) removes it for other games i have

So it does work like same shared save
I did came up to conclusion to name my storage for each game with something related to my game name
For example i made game called Expand When Four
So i named storage EWFStorage
While group names i use as different save slot for each game to wipe out different save data
For example i would go with group name Data for game progress
While i would go with group name Settings for well settings
So i can wipe specific group (specific save slot) not affecting other
So now i can remove all progress from my game without removing whatever settings i had for audio volume and/or controls

What i don’t know and not tested is it shared per apk exported game
I would assume NOT but that is just assumption
Where idk if package name (that com.example) we need to rename in project properties plays any role here
And i also assume for exported exe files it is NOT shared cause that crap goes to %appdata% folder and each one gets it own based on game name if i remember correctly
But in both cases someone correct me if im wrong

BUT going with different storage name for each game does solve the problem
BUT i just realized someone could make game called Even With Friend
And name his storage like i did EWFStorage
And now again we have conflict
I think solution would be to have to name storage after your nickname and something related to your game so im my case it would be ZeroX4EWFStorage

Where i suggest in my tutorial here

In useful tips section not to name storage same way for every game
While including name Storage in its name so you know which is Storage name and which is Group
But after you are familiar with loading/saving that Storage/Group suffix is useless so i could go with storage name ZeroX4EWF
And group Settings or Progress or Data

I’m not sure if that means yes or no.
I hope it isn’t because I used generic storage names for my game.

Because there is no yes or no answer

It would depend on what you are asking

So you said you use generic storage name
Imagine i also use generic storage name

We both share link to our games on itch or gd games
(Here i mean games that are played in browser and NOT something you download)

And now we are affecting each other storage data since it is shared per browser
And again if our storage name would be different then it would not affect each other
(Where in reality we kinda still share storage read below to understand)

Think of it as trying to drop into your C drive two folders both named Save
So one will overwrite other
(But hat if my Save folder was attack.mp3 and in yours idle.png?
Then even so we are using same folder name we are not affecting our files Problem would start when we want to delete content of Save folder cause now we delete every file that is there even ones that do not belong to our game)

Where if you would have one folder named SaveA and other SaveB then they can coexist directly on C drive while they are sharing same folder in this case C drive
Yet folder content of SaveA is not affected by content of SaveB and vice versa

BUT that is again just case for SAME browser

For APK and EXE exported games it is most likely not shared

So it is shared only with same browser.
What are the best names for storage?
Also can you give sources for why it is shared only with same browser?

Like i said i am not 100% sure is it shared between APK and EXE files but i would assume NOT cause they have per game separated folders for data
problem would start if you would have 2 games with same names

As for browsers it is same logic as cookies
You can’t be logged in at the same time to 2 accounts for example for youtube
You can have 2 or more accounts but at a time you can use only one account

Where you could be logged to different accounts at the same time on different browsers
For example i am logged in on one acc on opera gx while to other on regular opera
And i can browse youtube on 2 different accs at the same time using two different browser
Now idea is is if would clear all my cookies/login data on one browser it would not affect other
Where if i would have saved password and login info on one browser clearing login and password on such browser would remove it for all accounts

Pretty much same principal goes for storage
And did you read anything i wrote above about naming storage that you need to ask about best storage names?

1 Like

I believe the answer is Yes. Two different apps that read from, and write to, the same storage and group name will be accessing the same data.

Does this ONLY apply for the same browser?
Also can you give me sources for your answer?
Wouldn’t an answer from a gdevelop developers help to give an accurate answer?

From the storage section in the GDevelop Wiki (which you can check yourself):

"If the game has been exported to an HTML5 build, and uploaded to a host such as Itch.io, local storage will be maintained with the browser local storage.

This will mean that each browser will have a unique location, and users will need to refer to that documentation if they want to locate it."


Possibly, but wouldn’t it be better use of their time if you test various scenarios out yourself and figure out how it works, and maybe then ask for confirmation of your findings?

I could be considered a GDevelop developer.

Yes, storage is shared between all HTML5 GDevelop games, as long as they share the same browser and domain name.
If the games are run on two different browsers, or hosted under different domain names, or are published as a mobile or desktop build, will not share storage.

Games on most hosting platforms are hosted on the same domain name, including itch.io and gd.games, and thus will share storage.

3 Likes

Good to know, now that this has been confirmed, shouldn’t documentation include that notice for web games published under same domain?