Inherits: Node2D < CanvasItem < Node < Object

Copies a region of the screen (or the whole screen) to a buffer so it can be accessed in your shader scripts through the texture(SCREEN_TEXTURE, ...) function.


Node for back-buffering the currently-displayed screen. The region defined in the BackBufferCopy node is bufferized with the content of the screen it covers, or the entire screen according to the copy mode set. Use the texture(SCREEN_TEXTURE, ...) function in your shader scripts to access the buffer.

Note: Since this node inherits from Node2D (and not Control), anchors and margins won't apply to child Control-derived nodes. This can be problematic when resizing the window. To avoid this, add Control-derived nodes as siblings to the BackBufferCopy node instead of adding them as children.


CopyMode copy_mode 1
Rect2 rect Rect2( -100, -100, 200, 200 )


enum CopyMode:

  • COPY_MODE_DISABLED = 0 --- Disables the buffering mode. This means the BackBufferCopy node will directly use the portion of screen it covers.
  • COPY_MODE_RECT = 1 --- BackBufferCopy buffers a rectangular region.
  • COPY_MODE_VIEWPORT = 2 --- BackBufferCopy buffers the entire screen.

Property Descriptions

Default 1
Setter set_copy_mode(value)
Getter get_copy_mode()

Buffer mode. See CopyMode constants.

Default Rect2( -100, -100, 200, 200 )
Setter set_rect(value)
Getter get_rect()

The area covered by the BackBufferCopy. Only used if copy_mode is COPY_MODE_RECT.