Version: 2020.2
  • C#


class in UnityEngine


Implemented in:UnityEngine.CoreModule

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.




Raw interface to Unity's drawing functions.

This is the high-level shortcut into the optimized mesh drawing functionality of Unity.

Static Properties

activeColorBufferCurrently active color buffer (Read Only).
activeColorGamutReturns the currently active color gamut.
activeDepthBufferCurrently active depth/stencil buffer (Read Only).
activeTierGraphics Tier classification for current device. Changing this value affects any subsequently loaded shaders. Initially this value is auto-detected from the hardware in use.
minOpenGLESVersionThe minimum OpenGL ES version. The value is specified in PlayerSettings.
preserveFramebufferAlphaTrue when rendering over native UI is enabled in Player Settings (readonly).

Static Methods

BlitCopies source texture into destination render texture with a shader.
BlitMultiTapCopies source texture into destination, for multi-tap shader.
ClearRandomWriteTargetsClear random write targets for Shader Model 4.5 level pixel shaders.
ConvertTextureThis function provides an efficient way to convert between textures of different formats and dimensions. The destination texture format should be uncompressed and correspond to a supported RenderTextureFormat.
CopyTextureCopy texture contents.
CreateAsyncGraphicsFenceShortcut for calling Graphics.CreateGraphicsFence with GraphicsFenceType.AsyncQueueSynchronization as the first parameter.
CreateGraphicsFenceCreates a GraphicsFence which will be passed after the last Blit, Clear, Draw, Dispatch or Texture Copy command prior to this call has been completed on the GPU.
DrawMeshDraw a mesh.
DrawMeshInstancedDraws the same mesh multiple times using GPU instancing.
DrawMeshInstancedIndirectDraws the same mesh multiple times using GPU instancing.
DrawMeshInstancedProceduralDraws the same mesh multiple times using GPU instancing. This is similar to Graphics.DrawMeshInstancedIndirect, except that when the instance count is known from script, it can be supplied directly using this method, rather than via a ComputeBuffer.
DrawMeshNowDraw a mesh immediately.
DrawProceduralDraws procedural geometry on the GPU.
DrawProceduralIndirectDraws procedural geometry on the GPU.
DrawProceduralIndirectNowDraws procedural geometry on the GPU.
DrawProceduralNowDraws procedural geometry on the GPU.
DrawTextureDraw a texture in screen coordinates.
ExecuteCommandBufferExecute a command buffer.
ExecuteCommandBufferAsyncExecutes a command buffer on an async compute queue with the queue selected based on the ComputeQueueType parameter passed.
SetRandomWriteTargetSet random write target for Shader Model 4.5 level pixel shaders.
SetRenderTargetSets current render target.
WaitOnAsyncGraphicsFenceInstructs the GPU's processing of the graphics queue to wait until the given GraphicsFence is passed.