- Home /
Is there anyway to have an advanced graphics option in my game?
I've just started making the menus for my game, and I want to have advanced graphics settings in my game, I don't like the idea of having the pre-set graphics option you get by default, because I don't know exactly what changed between the settings, I like to have texture and model quality full, but anything post-processing off, but with Unity, I don't see any option to do this in-game, only in the editor.
I want to give the players the option to manually change texture settings, anti-aliasing, or toggle fog on/off.
The solutions I've seen are the option to change between the pre-set graphics setting in code, I don't even see a way to display what exactly changed in the settings.
So is there anyway I can have an "advanced graphics" option where players can edit everything to their liking?
Yeah there is a way, while the Player Settings and Quality have direct access from scripting, for post process you have to build your own system.
You have to threat the PostProcess scripts as what they are, just components. So the best way would be to add a set of booleans for turning hem on off, then save those booleans to PlayerPrefs.
When the actual game start you jsut have to retrieve those values from PlayerPrefs and change the post process effects accordingly.
Answer by Graham-Dunnett · Apr 08, 2013 at 01:17 PM
You know you can set the individual quality settings directly, right?
I see most of the options I'm looking for, I don't see anyway to turn shadow off, though. Is there a way to that?
Also, is there anyway to toggle a motion blur or bloom option?
You can toggle the scripts on the camera to disable/enable post effects. You can toggle shadows on lights individually.
Is there a way to access the camera's script, if for example, the player turns depth of field on, how can I have it apply to all cameras?
bool inWindow = false;
Screen.SetResolution(newWidth, newHeight, inWindow);
That's how to change resolution while the game is running.
Camera.main.GetComponent(DepthOfField).enabled = true;
That's how to turn on and off the DoF.
I take it it's a similar process with motion blur and bloom?
Your answer
Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
Distribute terrain in zones 3 Answers
2D Firing an object in the direction the Player is facing! 2 Answers
Multiple Cars not working 1 Answer
Using PlayerPrefs to save settings menu 2 Answers