Custom Shaders would be cool but poses risks to malicious actors. Poorly written or unoptimised code can freeze your GPU until system / driver restart.
I believe this is what abstraction is for. Roblox can potentially create a shader graph system with limited capabilities and it would still vastly diversify the visual capabilities of the engine. They could even go a step further and straight up reject compilation of shaders with âproblematicâ setups, if such a thing is possible to detect. I believe most of the people asking for shaders wouldnât complain if it was limited to a node based setup. As for attaching shaders to world objects like meshes/textures/materials, it could tie into their new Content system; i.e. MeshPart.MeshShaderContent, MaterialVariant.ColorMapShaderContent, SurfaceAppearance.ColorMapShaderContent, etc, etc. And for screen space effects I imagine theyâd need to introduce a new Service, âViewportServiceâ or something like that. This would also allow them to introduce more postprocessing and even just viewport options / controls altogether like viewport resolution, antialiasing, ambient occlusion, and so on and so forth
I like this but this is Roblox, so hopes for an implementation are very low seeing theyâre too busy ruining the game.