Is it possible to switch graphicsmode for the client?

I’m aware I can go into studio and change my graphicsmode from Automatic to let’s say OpenGL but this setting seems to only apply in studio. Is there a way to make this apply in actual games too?

1 Like

I believe from the API reference that you can change it using RenderSettings.GraphicsMode. You would have to define the actual mode using an Enum.

local rs = game:GetService("RenderSettings")

rs.GraphicsMode = Enum.GraphicsMode.OpenGL

This doesn’t seem to work. I’m assuming it’s something to do with permission levels or something. I also think this just changes the studio setting anyways.

Hm. Are you trying to do it on the client with a localscript, and are you seeing any errors in output when using that method?

Yep. That’s what I originally tried so I decided to try it on the command bar; same issue.

22:33:28.173 - local rs = game:GetService(‘RenderSettings’)
22:33:28.173 -
22:33:28.173 - rs.GraphicsMode = Enum.GraphicsMode.OpenGL:3: attempt to index nil with ‘GraphicsMode’
22:33:28.174 - Stack Begin
22:33:28.174 - Script ‘local rs = game:GetService(‘RenderSettings’)
22:33:28.174 -
22:33:28.175 - rs.GraphicsMode = Enum.GraphicsMode.OpenGL’, Line 3
22:33:28.175 - Stack End

Yeah. I don’t think it can be accessed or changed by calling RenderSettings then. I looked around on the wiki, and I’m fairly sure it can only be accessed by Roblox CoreScripts.

1 Like

I’ll try to look around for some more solutions, but I’m fairly sure that it might not be possible.

Yeah, Im fairly certain GraphicsMode is read only. What you CAN do (and by no means do I recommend this) is check if the graphics level isnt what you want the player to set it to and if so, spawn in a GUI asking the player to change to that graphics level

I’m not looking to force a certain graphicsmode. My game is graphic intensive and shadow map is detrimental to fps. OpenGL apparently doesn’t support shadowmap so I was hoping there was a way to switch to it so that I could use voxel instead.

Games like mining simulator ask you for low or high detail at the beginning loading screen GUI. I think this affects mesh poly count, particle rates, etc. for performance impact. You could perhaps do this or something similar. :slight_smile:

Oh god my bad, just skimmed the post and saw it seemed relevant to something I attempted to do a while ago. Good luck in finding what you need man :slight_smile:

I don’t know if there’s a way to “bump” a thread but uh

Bump, still need help with this

Unfortunately, you can’t change the graphics settings for a client at this point in time. I can imagine that such a limitation is in place to make sure that less powerful PC’s are not overworked by a forced high setting configuration.

I don’t know. If there was an option to choose then they wouldn’t be forced ya?

I suppose. But given that you initially were to start off at High Graphics, it may make for an initially unpleasant and very laggy experience. I’d also imagine that this implementation would have some sort of optional lock like “Set by Developer”, should it ever be implemented.

I’m pretty sure it’s already automatic. Some computers simply don’t support Dx11 or other graphic modes so Roblox sets it to something else like OpenGL. But ya, idk

1 Like

Still looking for a solution… Shadow map is extremely laggy for some computers so having the option to disable it on the client or something would be so useful

Lighting.Technology should be changeable on the client, you can set it to Compatibility mode or Voxel. I think even disabling GlobalShadows should take away the rendered shadows.