Is there any way to force a certain light graphics level to the players?

I want the light graphics settings to be at least 4 for every client, so that it uses the high level version of light. My game is a horror game, and the flashlight with a graphics setting of 4 or above looks so much better then 3 or below. I don’t want to force anything else other than this graphics setting, but if I have to force a whole graphics setting it’ll be okay. My game is very basic, and is super easy to run.

This is what the game looks like with a graphics setting of 4 or above:

This is what the game looks like with a graphics setting of 3 or below:

As you can see, if the graphics setting is 3 or below it completely breaks immersion. The flashlight does not look that good at all, and I want the game to be immersive and scary. The graphics 3 or below flashlight just doesn’t look that good, and it makes the game a lot less scary. Any help is appreciated, thanks!

aside from turning down the ambient colour completely, i wouldn’t bother if i were you; you’ll be amazed to find how much actually gets cut by low graphics quality, aside from the light

I do have the ambient set to pitch black, but the issue is that the low quality light increases the range of the flashlight, and there is nothing I can do about it. Is there any way I can detect the settings at least so I can adjust the flashlight?

Currently from my knowledge you are unable to force a quality level as it could be abused, especially for lower end devices that can’t support graphics quality over 1 or 2.

If you want to detect the quality they have, you can use the solution this post provides and change it to what is needed

Solution code provided:

local Value = 2 --1 to 10

UserSettings().GameSettings:GetPropertyChangedSignal("SavedQualityLevel"):Connect(function()
	if UserSettings().GameSettings.SavedQualityLevel.Value >= Value then
		print("ok")
	end
end)

But if you just want t ocheck it once, no need for the GetPropertyChangedSignal event

3 Likes

yes, using UserSettings().GameSettings.SavedQualityLevel(); it returns a quality level enum that(if just converted to a string) can be used as a number via string.match()

in the case someone has set it to automatic, you can just assume that it’s around 3

I’m not so sure if this is it, but I found a class called RenderSettings, which can you make you check what quality level they are on (or something like that)

Thanks! I’ll use that to make the low quality flashlight’s range smaller. I appreciate the help!

2 Likes

Anytime! If you have anymore issues don’t be afraid to make another post!

That can be only used in Studio.

1 Like