Unity - Scripting API: Screen.SetResolution
Success!
Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
Submission failed
For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.
Declaration
public static void SetResolution(int width, int height, bool fullscreen);
Declaration
public static void SetResolution(int width, int height, FullScreenMode fullscreenMode);
Declaration
public static void SetResolution(int width, int height, FullScreenMode fullscreenMode, RefreshRate preferredRefreshRate);
Description
Switches the screen resolution and refresh rate if supported.
A width by height resolution is used. If no matching resolution is supported, the closest one is set.
If the preferredRefreshRate parameter is specified but no matching refresh rate is supported, the highest available is set. Changing the refresh rate is only supported when using exclusive full-screen mode.
Android:
-
Android 10 and older: The
fullscreenparameter controls theSYSTEM_UI_FLAG_IMMERSIVE_STICKY,SYSTEM_UI_FLAG_LAYOUT_STABLE,SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN,SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION,SYSTEM_UI_FLAG_HIDE_NAVIGATION, andSYSTEM_UI_FLAG_FULLSCREENflags using View.setSystemUiVisibility method. -
Android 11 and newer: When
fullscreenis true,WindowInsetsController.hide(WindowInsets.Type.navigationBars())is called and whenfullscreenis false,WindowInsetsController.show(WindowInsets.Type.navigationBars())is called. For more information, refer to Android documentation on WindowInsetsController.
Usage details:
- To set a specific full-screen mode on a desktop platform, use the method overload that accepts the
FullScreenModeparameter. Exclusive full-screen mode is only supported on Windows standalone Player. - If you use multi-display, you can only use
Screen.SetResolutionto set the resolution of the primary screen. - A resolution change is applied at the end of the current frame and not immediately.
- In the Editor, it affects only the Game view's resolution.
Examples: