SetResolution
Switches the screen resolution and refresh rate if supported.
Read time 5 minutesLast updated 6 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
SetResolution(int, int, FullScreenMode, RefreshRate)
Switches the screen resolution and refresh rate if supported.
public static void SetResolution(int width, int height, FullScreenMode fullscreenMode, RefreshRate preferredRefreshRate)
Parameters
Remarks
A by resolution is used. If no matching resolution is supported, the closest one is set.
widthheightIf the 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.
preferredRefreshRateAndroid:
- Android 10 and older: The parameter controls the
fullscreen,SYSTEM_UI_FLAG_IMMERSIVE_STICKY,SYSTEM_UI_FLAG_LAYOUT_STABLE,SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN,SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, andSYSTEM_UI_FLAG_HIDE_NAVIGATIONflags using View.setSystemUiVisibility method.SYSTEM_UI_FLAG_FULLSCREEN - Android 11 and newer: When is true,
fullscreenis called and whenWindowInsetsController.hide(WindowInsets.Type.navigationBars())is false,fullscreenis called. For more information, refer to Android documentation on WindowInsetsController.WindowInsetsController.show(WindowInsets.Type.navigationBars())
Usage details:
- To set a specific full-screen mode on a desktop platform, use the method overload that accepts the parameter. Exclusive full-screen mode is only supported on Windows standalone Player.
FullScreenMode - If you use multi-display, you can only use to set the resolution of the primary screen.
Screen.SetResolution - 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:
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { // Switch to 640 x 480 full-screen Screen.SetResolution(640, 480, true); }}
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { // Switch to 640 x 480 full-screen at 60 hz Screen.SetResolution(640, 480, FullScreenMode.ExclusiveFullScreen, new RefreshRate() { numerator = 60, denominator = 1 }); }}
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { // Switch to 800 x 600 windowed Screen.SetResolution(800, 600, false); }}
Additional Resources: Screen.resolutions property.
SetResolution(int, int, FullScreenMode)
Switches the screen resolution and refresh rate if supported.
public static void SetResolution(int width, int height, FullScreenMode fullscreenMode)
Parameters
Remarks
A by resolution is used. If no matching resolution is supported, the closest one is set.
widthheightIf the 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.
preferredRefreshRateAndroid:
- Android 10 and older: The parameter controls the
fullscreen,SYSTEM_UI_FLAG_IMMERSIVE_STICKY,SYSTEM_UI_FLAG_LAYOUT_STABLE,SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN,SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, andSYSTEM_UI_FLAG_HIDE_NAVIGATIONflags using View.setSystemUiVisibility method.SYSTEM_UI_FLAG_FULLSCREEN - Android 11 and newer: When is true,
fullscreenis called and whenWindowInsetsController.hide(WindowInsets.Type.navigationBars())is false,fullscreenis called. For more information, refer to Android documentation on WindowInsetsController.WindowInsetsController.show(WindowInsets.Type.navigationBars())
Usage details:
- To set a specific full-screen mode on a desktop platform, use the method overload that accepts the parameter. Exclusive full-screen mode is only supported on Windows standalone Player.
FullScreenMode - If you use multi-display, you can only use to set the resolution of the primary screen.
Screen.SetResolution - 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:
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { // Switch to 640 x 480 full-screen Screen.SetResolution(640, 480, true); }}
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { // Switch to 640 x 480 full-screen at 60 hz Screen.SetResolution(640, 480, FullScreenMode.ExclusiveFullScreen, new RefreshRate() { numerator = 60, denominator = 1 }); }}
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { // Switch to 800 x 600 windowed Screen.SetResolution(800, 600, false); }}
Additional Resources: Screen.resolutions property.
SetResolution(int, int, bool)
Switches the screen resolution and refresh rate if supported.
public static void SetResolution(int width, int height, bool fullscreen)
Parameters
Remarks
A by resolution is used. If no matching resolution is supported, the closest one is set.
widthheightIf the 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.
preferredRefreshRateAndroid:
- Android 10 and older: The parameter controls the
fullscreen,SYSTEM_UI_FLAG_IMMERSIVE_STICKY,SYSTEM_UI_FLAG_LAYOUT_STABLE,SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN,SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, andSYSTEM_UI_FLAG_HIDE_NAVIGATIONflags using View.setSystemUiVisibility method.SYSTEM_UI_FLAG_FULLSCREEN - Android 11 and newer: When is true,
fullscreenis called and whenWindowInsetsController.hide(WindowInsets.Type.navigationBars())is false,fullscreenis called. For more information, refer to Android documentation on WindowInsetsController.WindowInsetsController.show(WindowInsets.Type.navigationBars())
Usage details:
- To set a specific full-screen mode on a desktop platform, use the method overload that accepts the parameter. Exclusive full-screen mode is only supported on Windows standalone Player.
FullScreenMode - If you use multi-display, you can only use to set the resolution of the primary screen.
Screen.SetResolution - 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:
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { // Switch to 640 x 480 full-screen Screen.SetResolution(640, 480, true); }}
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { // Switch to 640 x 480 full-screen at 60 hz Screen.SetResolution(640, 480, FullScreenMode.ExclusiveFullScreen, new RefreshRate() { numerator = 60, denominator = 1 }); }}
using UnityEngine;public class ExampleScript : MonoBehaviour{ void Start() { // Switch to 800 x 600 windowed Screen.SetResolution(800, 600, false); }}
Additional Resources: Screen.resolutions property.