Screen

class in UnityEngine

/

Implemented in:UnityEngine.CoreModule

Description

Provides access to display information.

Use this class to get a list of supported screen resolutions, change the current resolution, or hide/show the system mouse pointer.

When you launch your application, Unity immediately needs to use settings like the screen's resolution and full-screen mode to render the first frame before any custom code starts to run. This means Unity doesn't initially use your code to configure these settings. Instead, Unity gets the values of these settings from command line arguments, Player settings, or from PlayerPrefs.

Priority of initial startup settings

Unity determines the initial startup settings based on the following order of priority (highest to lowest):

  1. Command line arguments: If you specify a setting's value via command line, Unity prioritizes and uses that setting.
  2. Changed Player settings: If you don't use the command line to configure the setting, and you modify the setting's value in the Player settings, Unity uses those values. For example, in the Player settings, if you change Fullscreen Mode, Default Screen Width, or Default Screen Height, Unity will use those values to change the screen's full-screen mode and resolution at startup.
  3. Stored PlayerPrefs: If you don't specify a setting's value via command line or Player settings, Unity checks if the setting is stored in PlayerPrefs, and uses the setting if found.
  4. Default Player settings: Otherwise, Unity uses the original default Player settings as a fallback.

You can also implement your own logic, but Unity will only apply your logic after it starts to execute code.

Persistence of Screen settings

During gameplay, if the user changes the Screen settings, the settings will persist between launches. Unity writes these settings to PlayerPrefs, which saves these settings and stores them differently depending on the platform. Unity saves the following settings to PlayerPrefs:

  • Full-screen mode
  • Resolution (width and height)
  • Display and game window position

Unity saves the settings to PlayerPrefs when any of the following situations occur:

  • The application or user moves the window.
  • The full-screen mode changes, either when you call Screen.SetResolution, or the user presses Alt + Enter on Windows or Option + Enter on Mac.
  • The render resolution changes, such as when you call Screen.SetResolution, the user drags the window to resize it, or the user moves the window to a display with a different DPI.

Static Properties

autorotateToLandscapeLeftEnables auto-rotation to landscape left.
autorotateToLandscapeRightEnables auto-rotation to landscape right.
autorotateToPortraitEnables auto-rotation to portrait.
autorotateToPortraitUpsideDownEnables auto-rotation to portrait, upside down.
brightnessIndicates the current brightness of the screen.
currentResolutionThe current screen resolution (Read Only).
cutoutsReturns a list of screen areas that are not functional for displaying content (Read Only).
dpiThe current DPI of the screen / device (Read Only).
fullScreenEnables full-screen mode for the application.
fullScreenModeSet this property to one of the values in FullScreenMode to change the display mode of your application.
heightThe current height of the screen window in pixels (Read Only).
mainWindowDisplayInfoThe display information associated with the display that the main application window is on.
mainWindowPositionThe position of the top left corner of the main window relative to the top left corner of the display.
msaaSamplesGet the requested MSAA sample count of the screen buffer.
orientationSpecifies logical orientation of the screen.
resolutionsReturns all full-screen resolutions that the monitor supports (Read Only).
safeAreaReturns the safe area of the screen in pixels (Read Only).
sleepTimeoutA power saving setting, allowing the screen to dim some time after the last active user interaction.
widthThe current width of the screen window in pixels (Read Only).

Static Methods

GetDisplayLayoutRetrieves layout information about connected displays such as names, resolutions and refresh rates.
MoveMainWindowToMoves the main window to the specified position relative to the top left corner of the specified display. Position value is represented in pixels. Moving the window is an asynchronous operation, which can take multiple frames.
SetMSAASamplesSets the given number of MSAA samples for the screen buffer.
SetResolutionSwitches the screen resolution.

Did you find this page useful? Please give it a rating: