As a Roblox developer it is currently non-practical to create distortion effects.
If you want to, for example:
Have a shockwave that distorts space around where the wave is.
Want someone to appear as a smudge/blur on your screen.
Want to create a ripple effect on your screen when underwater.
… none of these things are trivial to accomplish right now.
The only possible way to kind of pull it off is with the Glass material, but there are several caveats to doing so:
It’s a Part material, and thus isn’t intended to be used in the context of refractive effects.
You can’t set the normal map of the material, so distortion is entirely geometric.
You can’t avoid the specular effects of the sun and other light sources affecting the glass.
You can’t blur what is behind the glass.
The distortion effects get killed below level 13 - 21 graphics anyway.
If we aren’t going to get custom shaders anytime soon (or ever), I hope this at least isn’t an unreasonable request. I really just want to make my game as cool and immersive as I can, and right now I’m bottlenecked by hard engine limitations.
Adding on, I’ve mentioned this before, but it’s absolutely shocking how little post-processing effects that the engine has. It was basically a decade ago at this point where Arseny said:
We still barely have anything in 2025.
Why is there such little support for these stuff in the engine? What’s even more surprising is how we’re lacking the most basic of stuff, like an unlit material shader.
You want an object to not be affected by global lighting? too bad. You need to deal with forced SSAO, horrible fresnel reflection artefacts if you try to be creative with normals, or doing hacky workarounds with neon materials etc etc.
A custom graph-based shader system is probably years away, but before all that, even the tiniest of support would go so far in being able to allow developers to define their own art styles for their games. A lot of the use cases I hear from people who want shaders, don’t even necessarily want custom shaders to accomplish whatever they’re trying to do. Most of the use cases I’ve seen are just foliage/trees/grass, oceans, or toon shading/effects. Most of which could be supported without the need of a whole custom shader system.
Right, making satisfying visuals on Roblox is very tedious, this has been one of my main pain points on this platform for so long because whenever I have an image of what I want to create, I am severely limited by what I can do, I have to rely on many obscure hacks to make things look slightly more appealing (Like using a SpecialMesh with a higher VertexColor than 1, 1, 1 just to make it glow) while doing that on any other game engine would be an absolute breeze.
As long as such post-processing effects aren’t added, Roblox games will always have this simple and childish feel to them no matter how much Roblox tries to expand to older age groups. It’s not just about realism but making games look less amateur than games made on other game engines.