Legacy Documentation: Version 2018.1 (Go to current version)
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.


class in UnityEngine


Inherits from:Behaviour


Implemented in:UnityEngine.UIModule

Suggest a change


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.



Switch to Manual


Element that can be used for screen rendering.

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

#pragma strict
@script RequireComponent(Canvas)
@script RequireComponent(UIRenderer)

var verts : UIVertex[];

function Start () { var canvas : Canvas = GetComponent ("Canvas"); canvas.renderMode = RenderMode.Overlay; verts = new UIVertex[4]; GenerateVerts(); }

function GenerateVerts() { GenerateSquare();

var uiRenderer : UIRenderer = GetComponent ("UIRenderer") ; uiRenderer.SetVertices (verts); var mat = Material (Shader.Find ("Sprites/Default")); uiRenderer.SetMaterial (mat, null); }

function GenerateSquare() { var vert : UIVertex; vert.color = Color32 (255, 0, 0, 255); vert.uv = Vector2 (0, 0); vert.position = Vector3 (0, 0); verts[0] = vert; vert.position = Vector3 (0, 300); verts[1] = vert; vert.position = Vector3 (300, 300); verts[2] = vert; vert.position = Vector3 (300, 0); verts[3] = vert; }
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); } }


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.
overrideSortingOverride the sorting of canvas.
pixelPerfectForce elements in the canvas to be aligned with pixels. Only applies with renderMode is Screen Space.
pixelRectGet the render rect for the Canvas.
planeDistanceHow far away from the camera is the Canvas generated.
referencePixelsPerUnitThe number of pixels per unit that is considered the default.
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.
scaleFactorUsed to scale the entire canvas, while still making it fit the screen. Only applies with renderMode is 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.
worldCamera Camera 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

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.


willRenderCanvasesEvent that is called just before Canvas rendering happens.

Inherited Members


enabledEnabled Behaviours are Updated, disabled Behaviours are not.
isActiveAndEnabledHas the Behaviour had enabled called.
gameObjectThe game object this component is attached to. A component is always attached to a game object.
tagThe tag of this game object.
transformThe Transform attached to this GameObject.
hideFlagsShould the object be hidden, saved with the scene or modifiable by the user?
nameThe name of the object.

Public Methods

BroadcastMessageCalls the method named methodName on every MonoBehaviour in this game object or any of its children.
CompareTagIs this game object tagged with tag ?
GetComponentReturns the component of Type type if the game object has one attached, null if it doesn't.
GetComponentInChildrenReturns the component of Type type in the GameObject or any of its children using depth first search.
GetComponentInParentReturns the component of Type type in the GameObject or any of its parents.
GetComponentsReturns all components of Type type in the GameObject.
GetComponentsInChildrenReturns all components of Type type in the GameObject or any of its children.
GetComponentsInParentReturns all components of Type type in the GameObject or any of its parents.
SendMessageCalls the method named methodName on every MonoBehaviour in this game object.
SendMessageUpwardsCalls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
GetInstanceIDReturns the instance id of the object.
ToStringReturns the name of the GameObject.

Static Methods

DestroyRemoves a gameobject, component or asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadMakes the object target not be destroyed automatically when loading a new scene.
FindObjectOfTypeReturns the first active loaded object of Type type.
FindObjectsOfTypeReturns a list of all active loaded objects of Type type.
InstantiateClones the object original and returns the clone.


boolDoes the object exist?
operator !=Compares if two objects refer to a different object.
operator ==Compares two object references to see if they refer to the same object.