I am making an indiana jones adventure game and created a functioning GUI for achievements, stat and etc. I have the unique players values such as coins and experience loaded into replicatedStorage to be changed and accessed by other parts of the game and then when the player leaves I use a datastore to store the replicatedstorage values in a table and load them when they enter back. I was wondering before I go on if I change the replicatedStorage values of one player's coins value would it change all of them? I want each player to have seperate coins values and change seperately but I realized that not many people use replicatedStorage so I was wondering if replicatedStorage changes values globally.
Replicated storage should be used only to store objects that you will be needing later on in the game, so they are replicated to each client (player). Basically you shouldn't use replicated storage as game runtime storage (especially not for storing player stats!).
Instead, stats should be stored in game.Players.LocalPlayer directory (better in a seperate folder). It is the place where starterGui, satrterPlayer and starterPack are placed in when the game loads.
As for wether or not replicated storage is global, I would say no, since everything in it is replicated to the client (player) when the game loads in and therefore it is local (but still a bad place to store stats).
Yes, unless one of the players changes it from the client, in that case, the change is only displayed for that client only