I wanted to make a script that detects when a player’s graphics level changes and adjusts lights in-game accordingly, the reason being is I have a building that had its lighting tuned to a high graphics level, but at lower graphics, it’s dark enough that players can’t see much. Is there a way to do this, if so, what do I need to do?
Looks like this mostly covers it:
You will need to tune it a bit, but you get the idea. Although I see UserSettings().GameSettings.SavedQualityLevel only returns a manual setting, other wise it will return automatic (so probably not as useful). I don’ think there is another option.
Here the above as event.
local UserGameSettings = UserSettings().GameSettings
UserGameSettings:GetPropertyChangedSignal("SavedQualityLevel"):Connect(function()
print(UserGameSettings.SavedQualityLevel)
end)
Automatic will also appear in here.
Though Automatic actually changes all kinds of values dynamically, so…
It’s not a robust solution against Automatic at all.
So maybe RenderSettings.QualityLevel
Since when did this error exist?
![]()
I think when it is Automatic it will do things based on what it is meant to do on the Engine. Maybe it changes the Particle Rate and everything else on its own, without ever telling anyone about it.
settings():GetService("RenderSettings") requires a too high capability level as well.
You’d have to preview the lighting in-game as well
and for each Light you’d have to create 2 settings for each
one for “Realistic” and one for “Soft”
though at some graphic levels the “Realistic” lighting only renders within a certain range, while out of that range everything else would appear as “Soft” I think
It’s not worth doing it like that. I’d just introduce a custom setting in you own game and let the user change it that way.
As it was pointed out, this is only possible if the user has set the graphics quality setting manually
Something you can do is ask your players directly. Basically some sort of UI that says “If everything is dark consider increasing your graphic settings or clicking this button” and if they click the button you fix the issue for them specifically on the client side.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.

