As a Roblox developer, it is impossible to reliably offer clientside customization of parts of my game without waiting on game server interaction for data stores.
I would like to see clientside data stores for a multitude of reasons. I have a few personal use cases that I feel would spread to other developers.
- Storing clients’ custom controls for my game on the clientside so that they can be referenced in loading states of the game and/or edited exclusively on the clientside. I have a custom loading script and I would love to be able to display hints such as “Press <KEY> to <ACTION>” in my custom loading screens. Without this, I’d have to wait on initialization, entirely defeating the purpose of it being in the loading screen. I’d also have to display some placeholder text while I wait on the server to connect completely.
- Allowing clients to have customization on my game’s GUI and other clientside elements. My game is an MMORPG on Roblox and one of the big things people love about most real-deal MMOs is the ability to do clientside GUI mods e.g. repositioning UI elements or selecting other assets to use (in this case, using other roblox assets for sounds and images). Having to wait on the server for this info would implement an undesirable loading gap + require usage of data store calls quite frequently.
From what I can tell the API is already there in a crude sense with Plugin:SetSetting, though I do not know how difficult this would be to implement in the stock Roblox player application.
Any opinions?