As a Roblox developer I currently struggle with controlling the hardcoded internal behavior of Future lighting, and I think it’s a great time to gather your opinions on it. You see, the current state of Future lighting tech on Roblox is limiting our style when it comes to making our games look just right. Let me break it down for you.
So, we’ve got the Future lighting technology provided to us back in 2017, showing us amazing new tech and properties for lights, but here’s the catch: we don’t have access to all the properties of light instances, some even got removed before Future was fully shipped to the public! .
And no, I’m not talking about the basics like color, intensity, range, and shadows; we’ve got those covered. I’m talking about the properties buried deep inside the engine, the hardcoded values that are locked away from us. It’s frustrating, right?
I mean, isn’t it a bit crazy that we can’t access these important properties? It’s like trying to paint a masterpiece with only a few colors on your palette, requiring constant workarounds and hacky fixes to make your scene look just right!
That’s why I’m making this post. I’m asking the Roblox Engine Development team to give us developers more control over these hidden properties in the lighting system. If we can tweak these, we can take our games to a whole new level of awesome.
Here is a list of the properties I believe the engine should really have available to be changed, if not yet available, to be added.
- Shadow Bias, from the Unreal Engine 4.27 Documentation
- Shadow Sharpen Filter, (similar to post processing, this will not require the shadow to be drawn perfectly sharp, it takes the blurry result and attempts to make it sharper.)
- Shadow Color (I believe that this was a property a one point, but more or less for the sun light.)
- Shadow Resolution per light instance
- Control over the max Shadow Atlas size. (Optionally per platform to not degrade performance on mobile platforms.)
- Falloff Exponent, (Also known as light attenuation.)
- Source Radius (Pointlights Only)
- Lightsource Radius (Control over the size of specular highlights.)
- Lightsource Length, (This is extremly useful for elongated lights such as tube lights!)
- Soft Source Radius, (Lets you make a specular highlight more smooth if you think it is too sharp for you.)
- Access to the Specular & Diffuse intensity values on lights. Letting us disable specular highlights in certain scenarios where they are very disruptive to a scene.
- IES Light Profiles (Also known as light cookies in Unity.)
- Lightmaps (Pre-Computed lighting and shadows. And for the engine developers saying “we want realtime dynamic graphics”. I genuinely don’t care. You have to consider the limitations of certain platforms like mobile not being able to handle realtime lighting at the same performance as desktop or console devices.)
- Volumetric Lighting/Fog
- Per platform lighting optimization tools. (Especially to control the performance properly. Certain platforms such as desktops running with GPU’s that have the ability to do literal raytracing should be accounted for and properly used if available. Its unacceptable that I get over 300fps on a game using literal Raytracing but I can not get my Roblox game to surpass 120+ fps with a RTX 4070 TI.)
- Deprecate the current EnvMap system and replace it with a manual Cubemap probe placement system, such as Parallax Corrected Cubemaps
Now, this is all for now that has really bothered me about the engine and its very limited implementation of lighting. What is your opinion about these suggested settings, do you think they would benefit you? Or are you content with the current system provided to you by Roblox.
If so, please let me know in this poll!
- Yes, I agree that Future lighting needs more scalability and customization.
- No, the current implementation fits me just fine.
I appreciate your time for reading this post, please let me know by replying to this thread, as it would greatly help in getting more attention to Roblox Staff.