Native (and compatible) shader/gpu code support

Now, im well aware this is a bit of a shot in the dark here considering roblox’s current performance compared to engines like unreal, but this is something thats been on the back of my mind for a while now

why isnt there native shader/gpu code support? i mean its 2025, tech is advancing quicker than it ever has, yet roblox is still behind on a lot of modern game tech (which dont get me wrong, some of the stuff roblox has been doing is pretty advanced from a tech stand point, but im more meaning just generally from a game dev perspective). Uneal engine, Unity, Godot and even scratch have the ability to create complex shaders from simple shader art straight up to industry defining lighting algorithms like path tracing (which brings up an example i will use later), and its been like that for over 20 years. while roblox was just a concept in its early stages of development.

Now yes, i understand that roblox is meant to be performative and able to run on low end devices, but that still doesnt excuse not adding a feature some developers have been wanting for years now.


So im suggesting this long needed feature finally gets implemented. and yes, as ive just said, im well aware that roblox is meant to be able to run on low end devices, but you could just not run shaders on those lower end devices if they might be too performance heavy. I do also believe it is possible to have shaders be compiled for most operating systems like ios, windows, linux, etc. Unity does that by translating hlsl into assembly or low level code which each os can run

Another issue which might come in hand is security. ive seen crazyblox talk about this somewhere about a roblox engineer mentioning how adding gpu support may be a security risk. but roblox already has the tech to stop it, which is sandboxing, which only allows code to affect things in the area/application its run in, exactly like a virtual machine, so this isnt exactly out of the question from a security stand point


another thing i have which makes me at least want this added is the fact that the lack of gpu code support actually can offer worse performance in games in a lot of more intensive cases. take pet sim as an example, that has a lot of effects and objects on screen at once later into the game which can cause a load of lag on the cpu since roblox usually only runs on a single thread, unless you use a load of actors to separate work between several threads

another example of this is one of my own projects, that being a path tracer, i can only really run it at 5-16 fps in most cases on a really low resolution. testing it right now only gives abt 5-8fps at 184x58 and 3 bounces per sample

the rendering times are decent. but the fps it runs at is just unusable for actual gameplay on 1 thread, especially if i implement things like refraction. if i want any performance then i have to multithread which is something i want to save til later so i can bug fix a bit easier


i will also mention that any lack of gpu/shader code is actually quite limiting on roblox’s own motto, “powering imagination”, since you dont actually have much use of creativity outside of game ideas, and the fact that pretty much every roblox game looks the same due to the lighting used, it can make games feel quite repetitive. especially many front page games which at this point start to just feel soulless. i genuinely cannot remember the last time ive been impressed by a front page game since they all just look the same. last time i was impressed by a proper game on roblox at all was over a year ago, and any tech demos was a few months ago with other peoples path tracers

so it would be best to add shader support because:

  • 1: itll push roblox more toward the quality and performance seen in AAA games
  • 2: itll allow games to feel unique again. most the games on the front page now are either italian brainrot, a copy of another game, an anime fighting game, or a game that is somehow still alive despite being really uninteresting. none of which i really want to play.
  • 3: it would allow roblox developers to be truly creative with the appearance of their games, and not be forced to use roblox’s lighting which in a lot of cases for developers wanting to show off just wont cut it
  • 4: it will allow for far more intensive, and visually impressive games which wont lag nearly as much on lower end devices, widening accessibility among players

and yes, as ive also said, there could be compatibility issues such as operating systems being unable to run shaders, or devices being too weak to run them, but there are methods to get shaders compatible with many engines and operating systems, and they could just not be run if performance would be too poor, or if your os/rendering engine cant support it even if its been translated. sandboxing can be used to prevent security risks, and game performance can be greatly improved with this feature

really hope this gets announced by rdc27 since this is a feature that i, and likely many others, have been wanting for a while now


if there are any issues that ive missed, then please do inform me, would much appreciate seeing if theres anywhere ive went wrong

9 Likes

Quite a while back roblox stated that “allowing developers GPU access is unsafe” and “there’s no guarantee that everything would still work cross-platform”, which given it does just sound like an excuse, I do somewhat get where they’re coming from.

Given what you can do with shaders, I’d say it should be an ID verified feature if added.

However, a far more realistic method would be doing what Poiyomi shaders (in Unity) do:




A million and one settings for the developer to use to adjust how their game looks. It’d almost guarantee cross-platform support and still allow a massive amount of customization for developers.

It would honestly be nice if roblox had a material system like unity, but just simply having the lighting data and shading tabs from poiyomi would increase customization so much while not allowing direct GPU access.

And yes, it won’t allow ray-tracing or path-tracing (unless added), but who actually plays with these? They’re tech demos at best that require beasts of computers to run, hell my 4060ti struggles with pathtracing still.

9 Likes

i play with path tracing :sob:

but yea i can see where ur coming from there. i dont know why roblox’s lighting settings are so limited. and although it is kinda annoying, i would make shaders/gpu code a feature u need to id verify for since they can be quite risky if done wrong since it can do things like crash your pc or stop the screen buffer from clearing which would make you have to force reboot it which can be quite bad for file integrity

was also thinking maybe a visual editor for shaders could also be done. i know unity and unreal do that which could actually be quite handy for people like me who dont know hlsl or (if roblox would decide on doing it for some odd reason) a gpu based api for lua

(all ik how to do in hlsl is change around colours over the whole screen)

Davids response to adding shader support when asked at RDC25:

Q: Hey, I’m [Removed] and I’ve been on the, I’ve been developing on the platform [Removed].
Do you see a future where trusted creators get deeper access to GPU or shader level
functionality?

David: No. And I’ll see I’ll share why. We’ve done some pretty radical things. I was just talking to
investors yesterday about should the economy be different from for a 13-year-old experimenting
with their first game in a studio that’s making $30 million and we said you know so far we’ve just
been 100% linear 100% no accelerator and try to treat everyone the same. So actually I think
we do want more GPU, we do want shaders. It makes the engineering more difficult to say when
we turn that on, everyone has to get it, including the non famous experimentter as well as
everyone else. And so that is a constant drum beat within the company. Maybe of course early
adopter beta, maybe of course let’s let’s learn with a few of the top devs, but generally everyone
everything has to be available for everyone. The economy has to scale linearly. On shaders you
know we need I think it’d be amazing to do it. I think as you’ve seen us go into cloud type
engines that change formats that upsample down sample. It’s not inconceivable to have a
universal shader language that in our cloud gets optimized for every device. So I would say that
would be the way we would go on it.

8 Likes

so what im getting is that he wants to add it in a way thats available for everyone, is that right?

if so that would be amazing since roblox could really do with them even if its mainly used for small artistic/tech demo places. people would be able to stylise their games way more as well