Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


Canvas

Element that can be used for screen rendering.
Read time 8 minutesLast updated 2 days ago

Definition

[RequireComponent(typeof(RectTransform))]public sealed class Canvas : Behaviour

Remarks

Elements on a canvas are rendered AFTER Scene rendering, either from an attached camera or using overlay mode.

Examples

using System.Collections;using System.Collections.Generic;using UnityEditor;using UnityEngine;using UnityEngine.UI;// Create a Canvas that holds a Text GameObject.public class ExampleClass : MonoBehaviour{ void Start() { GameObject myGO; GameObject myText; Canvas myCanvas; Text text; RectTransform rectTransform; // Canvas myGO = new GameObject(); myGO.name = "TestCanvas"; myGO.AddComponent<Canvas>(); myCanvas = myGO.GetComponent<Canvas>(); myCanvas.renderMode = RenderMode.ScreenSpaceOverlay; myGO.AddComponent<CanvasScaler>(); myGO.AddComponent<GraphicRaycaster>(); // Text myText = new GameObject(); myText.transform.parent = myGO.transform; myText.name = "wibble"; text = myText.AddComponent<Text>(); text.font = (Font)Resources.Load("MyFont"); text.text = "wobble"; text.fontSize = 100; // Text position rectTransform = text.GetComponent<RectTransform>(); rectTransform.localPosition = new Vector3(0, 0, 0); rectTransform.sizeDelta = new Vector2(400, 200); }}

Properties

Property

Description

additionalShaderChannelsGet or set the mask of additional shader channels to be used when creating the Canvas mesh.
cachedSortingLayerValueCached calculated value based upon SortingLayerID.
isRootCanvasIs this the root Canvas?
normalizedSortingGridSizeThe normalized grid size that the canvas will split the renderable area into.
overridePixelPerfectAllows for nested canvases to override pixelPerfect settings inherited from parent canvases.
overrideSortingAllows for nested canvases to override the Canvas.sortingOrder from parent canvases.
pixelPerfectForces pixel alignment for elements in the canvas. It only applies when Canvas.renderMode is set to Screen Space.
pixelRectGet the render rect for the Canvas.
planeDistanceHow far away from the camera is the Canvas generated? It only applies when Canvas.renderMode is set to RenderMode.ScreenSpaceCamera.
referencePixelsPerUnitThe number of pixels per unit that is considered the default.
renderingDisplaySizeReturns the canvas display size based on the selected render mode and target display.
renderModeIs the Canvas in World or Overlay mode?
renderOrderThe render order in which the canvas is being emitted to the Scene. (Read Only)
rootCanvasReturns the Canvas closest to root, by checking through each parent and returning the last canvas found. If no other canvas is found then the canvas will return itself.
scaleFactorScales the entire canvas, ensuring it fits the screen. It only applies when Canvas.renderMode is set to Screen Space.
sortingLayerIDUnique ID of the Canvas' sorting layer.
sortingLayerNameName of the Canvas' sorting layer.
sortingOrderCanvas' order within a sorting layer.
targetDisplayFor Overlay mode, display index on which the UI canvas will appear.
updateRectTransformForStandaloneShould the Canvas size be updated based on the render target when a manual Camera.Render call is performed.
vertexColorAlwaysGammaSpaceShould the Canvas vertex color always be in gamma space before passing to the UI shaders in linear color space work flow.
worldCameraCamera used for sizing the Canvas when in Screen Space - Camera. Also used as the Camera that events will be sent through for a World Space Canvas.

Static Methods

Method

Description

ForceUpdateCanvasesForce all canvases to update their content.
GetDefaultCanvasMaterialReturns the default material that can be used for rendering normal elements on the Canvas.
GetETC1SupportedCanvasMaterialGets or generates the ETC1 Material.

Static Events

Member

Description

preWillRenderCanvasesEvent that is called just before Canvas rendering happens.
willRenderCanvasesEvent that is called just before Canvas rendering happens.

Inheritance

Inherited Members

Operators

Operator

Description

operator ==Compares two object references to see if they refer to the same object.
boolDetermines whether the object exists.
operator !=Compares if two objects refer to a different object.