Implement the option for client-side data stores

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?

5 Likes

There is nothing benefitting from this in my opinion.
You can just load it on the server and send it to the client if you don’t want to wait, it opens up a lot of secutiry risks when you expose a feature like this to the client.

1 Like

The main benefit I can see with this feature over DataStores over the wait time is players being able to set settings for their device. As an example, The Labyrinth presents the option to have additional meshes appear in the map, which would be fine on my main laptop but detrimental on my phone. Same goes for custom volumes, UI placement, and controls (as said in the OP).

6 Likes