Today we are looking at Debug Draw 3D, a must have extension for Godot developers. It’s implemented in C++ using GDExtensions and is usable with C# and GDScript. It enables developers to quickly and easily draw lines, shapes and text on screen, making debug (thus the name) visualization a breeze. It is implemented as a pair of singletons, DebugDraw2D and DebugDraw3D, as well as a number of configuration and supporting classes.
Debug Draw 3D is capable of drawing the following:

Debug Draw 3D (4.2.2+) 1.5.1 3D Tools 4.2 Community
Submitted by user DmitriySalnikov; MIT; 2025-05-27
This is an add-on for debug drawing in 3D and for some 2D overlays, which is written in C++ and can be used with GDScript.
= Features =
3D:
* Arrow
* Billboard opaque square
* Box
* Camera Frustum
* Cylinder
* Gizmo
* Grid
* Line
* Line Path
* Line with Arrow
* Plane
* Points
* Position 3D (3 crossing axes)
* Sphere
* 3D Text
Overlay:
* Text (with grouping and coloring)
A simple example:
func _process(delta: float) -> void: var _time = Time.get_ticks_msec() / 1000.0 var box_pos = Vector3(0, sin(_time * 4), 0) var line_begin = Vector3(-1, sin(_time * 4), 0) var line_end = Vector3(1, cos(_time * 4), 0) DebugDraw3D.draw_box(box_pos, Quaternion.IDENTITY, Vector3(1, 2, 1), Color(0, 1, 0)) DebugDraw3D.draw_line(line_begin, line_end, Color(1, 1, 0)) DebugDraw2D.set_text("Time", _time) DebugDraw2D.set_text("Frames drawn", Engine.get_frames_drawn()) DebugDraw2D.set_text("FPS", Engine.get_frames_per_second()) DebugDraw2D.set_text("delta", delta)
Key Links
Debug Draw 3D Godot Asset Store Page
You can learn more about the Debug Draw 3D extension for the Godot game engine and see it in action in the video below.