Dramatically increase the maximum image / decal / texture upload size

As a Roblox developer, it is currently impossible to create beautiful worlds using textured MeshParts. To my knowledge, image upload size is limited to 1024 pixels on the largest dimension, and this is grossly insufficient since MeshParts can be scaled up massively. Scaling up MeshParts to sizes larger than the character is required to create anything other than tiny inconsequential props, such as terrain and architecture.

An excellent example of the horrendous consequences of this hard limit can be seen all over the place in the current sponsored Wonder Woman game. This game is clearly trying to push the envelope by using textured MeshParts and smooth terrain for the entire world, and this falls completely flat in many places due to textures on large MeshParts appearing grossly blown up with pixels muddy and almost as large as the character is.

This game makes great reuse of MeshParts. Increasing texture size for these large pieces of geometry is a theoretically negligible cost for a dramatic improvement in visual quality.

To preface the rest of this feature request, I realize that textures are typically the largest memory sink in video games. I don’t care; as a developer, I want the option to be able to use high-resolution textures. I will accept the consequences and balance my game’s data requirements myself.

Here are some particularly gross examples:

In my own projects, I’m currently looking into using textured MeshParts for showcase purposes, but to achieve the amount of detail needed to cover a large wall with grunge and dirt without having the depth-sorting issues inherent with Decal and Texture instances, I would need to use many, many stacked and textured smaller MeshParts. Custom materials might partially alleviate this but would not solve many issues shown in this topic. I could use a tiling texture and subdivide and overlap UV islands over this tiling texture, but obviously this results in unattractive tiling in most cases, which defeats the purpose of a showcase, and in real game applications may not always be desirable either.

E.g. a wall like this

Developers that know what they’re doing should be able to upload textures as large as even 8192 pixels if needed for large pieces of geometry. With a large amount of re-use of the same texture, spending 5-30 seconds downloading a texture like this should be fine. Breaking these meshes up into many smaller MeshParts with their own textures, or severely micromanaging UV maps unnecessarily increases development effort and either increases the number of instances required in-game to achieve the same appearance, or increases the repetitiveness of textures and makes it nearly impossible to bake attractive lighting.

Babyproofing the platform and holding our hands because phones and old devices do not have enough memory for games with 40 unique 4k textures is disheartening and unnecessary, especially when we already know that overusing huge textures is foolish. We know what we’re doing, let us optimize our games for both appearance, and performance. Developers who want to push the envelope end up with PlayStation 1 era graphics.

Other applications of larger textures can include full-screen images, which are usually used for loading screens and intro/splash screens. Display resolutions these days are usually 2k or more, so doing full-screen images requires breaking the image up into several smaller ones and stitching them back together in-game.

Please dramatically increase this limit. Provide an option when uploading decals to have them automatically downscaled to 512, 1024, and 2048 px with the default left at 1024. Warn developers that large images are expensive. Let developers themselves choose whether or not they can afford larger textures.

162 Likes

What if Roblox automatically downloaded a different resolution of your texture based on how much memory the player’s device has?

25 Likes

Could not agree more with this!

With Automatic image scaling (based on device performance) this shouldn’t be an issue once that feature is implemented, and would also make the Quality slider make an even bigger difference when turned all the way down.

16 Likes

That’s kind of a weird way to fix this issue to be honest, it would be better if it depends on the graphics level the user set in the in-game menu. Also these are just textures, they aren’t really using a lot of the user’s memory resources, making them higher quality is barely gonna need any extra power. As PeZismistic said, the cost is negligible, I might even say that there is almost no cost.

6 Likes

This is the opposite of what I’ve said in the thread. Textures can be a massive memory sink, but given consideration they should be perfectly viable on this platform when used and reused carefully.

It might be possible to decrease load time when games contain large textures by streaming in lower quality versions of textures initially, and fetching higher resolution versions in the background to swap out later.

8 Likes

As another example, here is a vaguely rock shaped meshpart that I textured to test how these would look if reused to build complex rock structures with, but when it is any larger than my character, the textures look disgusting and inflated.

27 Likes

I just want to +1, as there are still legitimate uses for larger textures and it feels super weird that we’re arbitrarily restricted.

Additionally, these size restrictions are not obvious at all. The only reason I know the current size limitations is because people off-handedly mentioned it on devforum. I can’t easily confirm this information.

8 Likes

Why doesn’t the engine do texture scaling for us? We should be able to upload the largest texture required for our application, and on lower spec devices Roblox should internally generate lower resolution versions for those devices, or even better we can specify the resolution at steps for low spec devices so we can prioritize assets. Users with powerful computers are stuck playing Roblox games with low fidelity graphics simply because the engine does not handle this gracefully for various platforms and developers want to appeal to the lowest common denominator instead of realizing their vision.

14 Likes

I’d like to bump this because this is a really important feature especially with the new tech they’re trying to push. Facial animation brings insane possibilities but with low res textures it will never look right. I hope this post doesn’t just become another developers cry into the echo chamber of Roblox feature requests.

2 Likes

Is the limit still 1024x1024?

(I’m reconsidering roblox development after a couple years of inactivity, and would need to import a huge resolution image for a project)

3 Likes

Nothing has changed yet. No doubt they have yet another 5 year plan.

3 Likes

I would like to also support this, rising the maximum image size to 2048x2048 would allow developers to make much higher quality looking meshes without being afraid of the texture looking like it belongs to a 2006 game.

Allowing 2048x2048 textures should be no issue considering we can already upload audios that are bigger than 1MB in size, the average size for a 2048x2048 image is aprox. 2.44MB for PNG and 856.43KB for JPG.

Particle Flipbooks for me are basically useless because the maximum image size is 1024x1024 which makes the particle look pixelated and blurry when using this feature.

4 Likes

Any updates to this? I hear the new mentality is to transform the roblox ecosystem to attract higher quality studios and games. It would be nice if we could get texture improvements.

3 Likes

Its been a bit so I wanted to bump this and say im running into issues and it looks extra ugly with PBR textures. PBR is great, but it wont work well with such small upload sizes. I dont think its a space issue since you can upload videos now, not sure why we cant but here is an example of a thing im working on that looks ugly up close.


The scraped edges which should be sharp are blurry, I uploaded this as a 2k image and the downscale made some bits bleed into other bits which is another issue but it just looks ugly when the player gets a little close

1 Like

Roblox already saves textures as their original resolution so storage is not an issue it would appear, if you tried to redownload a texture you’ve uploaded it will be the exact same resolution but not so sure on quality.

When uploading a 4096x4096 texture to a website that only allows 1024x1024 resolution, it will down sample the image into that resolution which makes everything much crisper than normal 1024x1024 resolution. 3kliksphilip, a CS:GO Youtuber has made a video about that here. He goes into detail about down sampling and it’s benefits however, 4k resolution is still better than 4k shrunk down to 1024x1024.

Here’s a picture of my Roblox Skybox and how 16k resolution looks crisp even when down sampled to Roblox’s limit:

2 Likes

Still needed desperately for many other cases, for example, when working with 8x8 particle flipbooks as they’re only ever going to look acceptable for very minor details scaled down, but when you require larger scaled visuals with more details it instantly breaks any sort of gameplay immersion and looks awful due to the result looking all pixelated due to the low resolution.

Resolution threshold increase from 1024x1024 to 4096x4096 should be something planned for this year at the very least. I’d be happy with that.