Display
class in
UnityEngine
/
Implemented in:UnityEngine.CoreModule
Suggest a change
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.
Close
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.
Close
Description
Provides access to a display / screen for rendering operations.
Unity supports multi-display rendering on:
- Desktop platforms (Windows, macOS X, and Linux)
- Android (OpenGL ES and Vulkan)
- iOS
Some features in the Display class only work on some of the supported platforms. See the properties and methods for more information about platform compatibility.
Use the Display class to operate on the displays themselves, and Camera.targetDisplay to set up cameras for rendering to individual displays.
Additional resources: Camera.targetDisplay, Canvas.targetDisplay.
using UnityEngine;
public class Example : MonoBehaviour
{
Camera extCam;
Camera cam;
void Start()
{
// GUI is rendered with last camera.
// As we want it to end up in the main screen, make sure main camera is the last one drawn.
extCam.depth = cam.depth - 1;
cam.SetTargetBuffers(Display.main.colorBuffer, Display.main.depthBuffer);
extCam.enabled = false;
}
void Update()
{
if (Display.displays.Length > 1 && !extCam.enabled)
{
Display.displays[1].SetRenderingResolution(256, 256);
extCam.SetTargetBuffers(Display.displays[1].colorBuffer, Display.displays[1].depthBuffer);
}
extCam.enabled = Display.displays.Length > 1;
}
}
Public Methods
Activate | Activates an external display. For example, a secondary monitor connected to the system. |
SetParams | Windows platforms only. Sets rendering size and position on screen. |
SetRenderingResolution | Sets rendering resolution for the display. |