Introducing Texture Streaming

This is extremely cool technology. I remember seeing some talk/demos of it at RDC a few months ago. Roblox’s engineering team is extremely talented and it was wonderful getting to meet you guys.

Especially with 4k+ textures, this overhaul is going to make a big difference. It’s been incredible to see how much performance can be pushed out of low end devices.

I do have one question: Will there be a way we can specify if a mesh or model or surfaceapperance prioritizes performance or quality?

I’ve uploaded several 4k textures and while I trust the optimization system I’ve realized I might not want to reupload lower res textures if the lower res for some meshes is sufficient

How would this exactly work for games that rely on either mostly built-in roblox textures and/or just a small sum of custom ones? Most roblox games live off a very small amount of textures as is so i wonder how much benefit this would bring to those games (if any).

Though honestly i can see this being of major benefit to games with lots of different textures so great work on this.

I also have to wonder how aggressive texture streaming overall will be. Roblox has been super generous with insanely low quality lods and quarter resolution textures on even high end devices before this. 4k textures are nice to have but i have to wonder if we’re going to even be able to see them at all if the current texture streaming is just too aggressive and lacks scaling for anything past mid range phones.

2 Likes

I have an internet connection with a bandwidth of 200MB/s;

I was playing a game and the textures look very low quality (plus it took about 8 seconds to load (I’m from Latin America)). I’m on a laptop, I don’t know how much this should affect my PC or what factors are causing it.
Roblox Player:


2 Likes

It took almost 2 minutes to set the textures to their maximum quality.

1 Like

This feature is quite hit or miss. We’re experiencing a lot of issues in Roblox Studio where some meshes are loaded correctly, and some wrongly.


  • These textures were uploaded months ago.
  • They often become VERY washed out & lose all detail.
  • This is studio-view.
    • It works when play testing.
  • Internet speed is 1000/1000Mbit.
  • PC is strong.

Additionally.

  • Ever since this was added, Roblox Studio has become insanely laggy & unresponsive to work in.
7 Likes

When this is available to use in UI, does it make spritesheets with ImageLabel’s ReactSize and ReactOffset useless? We are planning to make a system where we bundle all images in the game into one big image, want to know if its worth doing it after this.

One more thing, will the preloaded image buffers change at all? We also have a data.png which we use to send blob data over CDN, encoded in pixels

Cool update!

Is there a way to disable this behavior, like with StreamingEnabled? I have a branded makeup game that relies heavily on SurfaceAppearances but the slower loading of the high-quality textures has become an issue in the past few days.

Before, the makeup loaded in its desired quality immediately when we were preloading it with ContentProvider:PreloadAsync(), but now it goes through some stages of “blur” before it reaches its desired quality due to this streaming update. Is there a way to either pre-stream the textures so they instantly appear in their highest quality, or disable this streaming feature entirely?

If a staff member wants to reach out in DMs to discuss further as can’t discuss too much due to NDA on this branded project. Thanks.

Can we expect to see an increase in Memory Budget for EditableImages with this change? It seems the current budget is ~84MB and that can be quite limiting on games that involve user drawn art as there can be lots rendered at a time (even with unloading of unseen art).

1 Like

I believe this is causing some texture loading issues. We’ve created a separate bug report for this here: Textures loading at lowered resolution as of 12/12/2025

1 Like

Hello @Jaco2811 thanks for reporting this. Could you send over a repro .rbxl file with steps so we can take a deeper look into this?

Thanks

Hello @sheyler1j , thank you for reporting this. Could you send over a link to the experience and repro steps (how to get to the spot you are at in the screenshot) so we can take a deeper look?

The game isn’t mine; I was trying to play this “Experience” and it produced that result.

Another thing, does that also affect Studio? The other day my textures had a render range three times lower than the lighting (it was fixed after restarting, so I didn’t dwell on it). Sorry for my bad English.

1 Like

I’ve randomly had materials and decals not load in when launching into studio some materials won’t load while others did just fine

I’ve noticed that If I imminently disconnect my internet after loading in a studio the materials won’t load and even setting a part to the material doesn’t make it load (this is done on the baseplate template)

but If I load into a studio then place a part down unplug my internet and change the material then replug in the internet it will successfully load once reconnected

The textures randomly not loading is still happening and I’ve had it happen in studio and in roblox player now most textures will load but a select few just don’t and you have to rejoin to fix it seems to mostly happen when loading in


2 Likes

We are not ready for an announcement yet, but we are working on significant improvements for there.

5 Likes

Are staff aware of having Streaming enabled taking up ~200mb more by default when enabled? It’s our teams main blocker for using it.

Thanks for reporting this.

Just to clarify, do you mean the Workspace.StreamingEnabled setting?
That property is for Instance Streaming where Instances get streamed in or out to clients.
This post is about Texture streaming which is a separate (un-related) system that determines how texture assets are progressively streamed into clients.

If this is about Instance Streaming, I’d be happy to forward along this report, any repro files you have, or a dev forum bug report to the Instance streaming team so they can take a deeper look at why there seems to be an extra 200MB of memory used for this.

If this is about Texture Streaming, please share an experience link (or repro .rbxl file) so we can do a before/after comparison and then figure out where this extra 200MB might be coming from.

Hey @Jaco2811 , checking in on this again if you are able to share a repro file / experience link so we can dig into this more.

Can we now see particle emitters from a greater distance?

This is the third time I’ve had lighting issues since this started. Does this affect Studio? Just to rule it out :slight_smile:


Edit: I restarted and it was fixed

We are getting SLIM, and this amazing update?

Why couldn’t you guys take this creativity into making a safe place for kids, why use the AI to verify children, and probably store their faces and id’s into an unsafe storage, vulnerable to billions of users?

2 Likes