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.

141 Likes

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

19 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.

12 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.

5 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.

6 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.

23 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.

6 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.

11 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.

1 Like

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)

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

1 Like