I’ve had textures not load or show up blurry while testing games in studio and I’ve found if you spam the playtest button you can get it to happen sometimes.
TextureTest.rbxl (57.7 KB)
We’ve identified one issue that could cause textures to not correctly stream in. A fix has been enabled for Windows client & Studio (Will be rolled out to other platforms as they are updated). If you were previously able to reproduce this, it would be great to know if its still happening for you.
Random chance of this happening for me, with meshes and particles.
Not sure if this is helpful but I have an rtx 5070 and a ryzen 5700x with 32gb ram, more than enough to run roblox.
Quick update:
Beam and ParticleEmitter instances now support Texture Streaming
Android devices with <3.5GB of memory now support Texture Streaming but not 4k textures
The summary at the top of the original post has been updated as well.
I don’t see the need in having texture streaming in UI. It’s not like your camera gets closer or further away from UI… Also very distracting as images load in
Same with Sky
Yeah im wondering this too. I understand having a max res limit for certain device memory limitations, but why stream these?
There would be a lot of utility in having a baseline level of textures on lower end connections like 3G. In some games like Adopt Me, the UI textures can take up to 20 seconds to fully load in: having a low resolution placeholder would help in those cases a lot.
Developers should instead look into optimizing textures so they take up the least amount of file size. For example, uploading icons at a resolution twice than displayed so it is scaled nicely on all devices and optimized:
![]()
Other examples:
Textures like vignettes are mostly a gradient and do not need to be a very high resolution as the effect from resampling is barely noticeable. As such, they do not need to be very large
![]()
Patterns displayed at a low resolution also do not need to be large:
![]()
Larger images can also be downscaled to use the least amount of data. For example, it is useless to upload a 1080p image for it to be displayed in a 100 pixel ImageLabel.
Smart use of preloading can also help a lot. You do not need to preload images that the user will not immediately see. Start by loading the images that will be seen first, After those are loaded, in the background, load images that are under menus or will be seen later in-game. The engine will first load the images that the user will see first, instead of those the user will see when opening a menu, reducing load times.
UI texture streaming also has a bug: If placed under a CanvasGroup, that CanvasGroup does not update when a higher quality is loaded
