Pre-Downloadable Game Data for Better Performance

Hi all!

I had an idea that could really help improve the gaming experience for a lot of Roblox players, especially those with lower-end devices. The basic idea is to allow users to download game data—like maps, models, and other assets—onto their device in advance. This would be a one-time download every time an update rolls out. That way, the device already has all the heavy data it needs, and it only needs to handle temporary things like player locations and unanchored items during gameplay.

This could make it easier for players to enjoy high-quality maps and designs, even if their devices struggle to render high graphics on the fly. Here’s how I think it could work: Roblox could add an option on an experience’s page that lets users pre-download the game data. This way, players could download their favorite or most-played games directly to their devices.

There are some obvious benefits here:

  • Better Performance: Games would run smoother on lower-end devices since they wouldn’t have to constantly stream data.
  • Faster Loading Times: With the data already on the device, games would load much faster.
  • Reduced Server Load: Less data being streamed could reduce strain on Roblox’s servers.

Of course, there are some potential challenges, like the risk of game data being stolen or compromised since it’s stored on the client. But with the right security measures—like encryption and regular integrity checks—I think these risks could be minimized.

Overall, I think this feature could really improve the experience for a lot of players. Thanks for reading!

P.s to any roblox staff reading, please consider!

P.p.s im really curious to hear any suggestions because I believe with the correct input and done correctly it can really be a powerful feature

5 Likes

This wouldn’t work for assets that are created via scripts

But that’s a problem: one of Roblox’s big appealments is the fact that you don’t need to download anything; you just click Play and join the game. If you had to re-download the game for every update of every game you like, that would just be tedious for the user (it will also require them to have sufficient storage on their device)

I know this is optional, but a low-end user likely would stop playing anyway since their device is too weak. Users with slower internet will still struggle with that as well

That’s really only part of why low-end devices perform badly. You have to take into consideration that some users are still running setups built in 2009 (whether it be for personal or economic reasons). Pre-downloading the game will prevent them from needing to stream it, but the technology the client is using will continue to run poorly

(Also, I don’t think streaming the game’s content takes too much performance, but I have to look into that)

Encryption and integrity checks are not enough to stop content from being stolen. Regardless, game data can still be stolen whether or not it’s being streamed


I don’t know how viable this request is. This would largely only help with internet and bandwidth for low-end players (assuming they don’t have a good connection). However, they will still need to deal with latency between the client and server

4 Likes
my personal take

In short this isnt even a real issue, if you dont enjoy assets popping in even after a player gets past the roblox loading screen, just make your own and use ContentProvider:PreloadAsync() with a list of assets you’d like to be loaded asap.

This has a very obvious and unavoidable downside, roblox is a game platform made for people to bounce around from game to game efforlessly with as little load time as possible. The amount of assets you’d have pre-downloaded from every game you join adds up pretty quickly especially on lower end devices with small storage space. Not to mention roblox in general is a fan of doing things during run-time (when the game actually runs) vs build-time (the development stage)

just go read omega’s post he explains what im thinking better

2 Likes

Once a client receives even a streamed asset, it’s at the same risk as one pre-downloaded one.

it will be really good if they added that but there should be more things for safety

  • the player get a prompt asking to save data and saying how much storage it needs
  • the ability to remove/view games dawnloaded data from roblox
1 Like

An auto redownload option would do the fix, automatic 3am updates.

Correct, i worded it poorly, its targeted towards low bandwidth users rather than weak device users although can be beneficial for both

Again, very well written yes but i think once the data is more localized it can be easier but i dont have concrete proof

Agreed, but having this option can shift, or better yet expand the market. It would all be optional features, roblox would be exactly the same, just an extra button in a menu.

Yes it would turn roblox into less of a hop on hop off platform but would assist a decent enough player base for it to be worth it for roblox

Of course, the data will save like the way any data is saved on any experience on roblox.

Great point

1 Like

Again its really targeted for when a user logs in and is waiting for the game to render in, or a player is traveling a lot of studs very quickly and the game cant render as fast as the players speed, or the player is looking into a distance and can see more than a few studs away from it instead of the usual current lowest graphic mode = seeing not more than 20 studs away

1 Like

people will be able to copy games that way, lets just keep it in ram where you atleast have an anti tamper “guarding the door”

I think basic, Roblox-provided Materials should be auto-installed to the system.

This has been suggested before, and I’d honestly really like something like this. I don’t have the best internet and there are times where I have to wait several minutes just for RequestQueueSize (check SHIFT+F3) to get to 0 in games I visit every week.

Obviously this should be completely optional per-game, but I’m also unsure as to how this could be safely implemented. It should not be a permanent download.

Games don’t always use the same assets as they once did. Devs can replace assets or remove entire maps, leading you to keep tons of assets that aren’t even being used anymore. If you were to permanently download a game that receives regular updates, the file size for that game on your device would just keep increasing forever. And how do you distinguish between game assets explicitly added by the developer, and arbitrary assets like avatar clothing and user thumbnails?

Maybe a solution could just be to let the cached data last longer. Roblox automatically clears cached assets every day to free up space, but you could choose to override this per-game. The next time you visit the place, if a previously-cached asset wasn’t loaded during that session, automatically delete it to free up space. (Or something similar to that.) And also display exactly how much storage a preloaded game currently takes up on your device, with the option to delete all of its data whenever you want.

1 Like

Something like this could and probably would be automatically done behind the scenes. It would make sense for it to happen, for example, with your recent top 3 most played games.

1 Like